Присоединяйтесь и где предложение с использованием критерия в Spring загрузки

Я пытаюсь достичь чего-то, что легко сделать с помощью именованного запроса, но я хочу сделать это с помощью критериев. Ниже приведены мои две таблицы.

Notification:
id
userId (foreign key to user) 
Notification
Visible

User:
userId,
name,
address

Нет Я хочу получить уведомления, соответствующие пользователю (указан идентификатор пользователя), которые являются видимыми (значение установлено в 1)

Один из способов сделать это - извлекать уведомления от Пользователя и повторять их, чтобы увидеть, какое уведомление является видимым, но я не хочу этого делать, так как это излишне вытянет много данных из БД.

Какой должен быть лучший способ сделать это?

1 ответ

Вы можете использовать Spring data jpa, чтобы достичь этого с легкостью

создать интерфейс, расширяющий хранилище JPA как

@Repository
@RepositoryRestResource
public interface NotificationRepository extends JpaRepository<Notification,Long (datatype for primary key)> {

List<Notification> findByUseridAndVisible(Long userid,int visible);
}

Теперь вы можете создать класс обслуживания и напрямую использовать этот метод как

class service(){
@Autowired
NotificationRepository notificationrepository;

public void method(){
Long userid=85;
int visible=1;
List<Notification> getnotificationlist= notificationrepository.findByUseridAndVisible(userid,visible);
}
}

Надеюсь, что это поможет вам.

Другие вопросы по тегам