powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по одному полю Hibernate
2 сообщений из 2, страница 1 из 1
Поиск по одному полю Hibernate
    #39643072
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я новичек в Hibernate.

Есть UserRepository и RestController.

Хочу сделать поиск по одному из полей юзера: Имя, фамилия, пол.

Если с получением всех юзеров, поиск по id все понятно. Но как сделать выборку только по одному полю?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public interface UserRepository {
    UserEntity save(UserEntity car);
    void update(UserEntity user);
    List<UserEntity> getAll();
    List<UserEntity> getAllByFirstName();
    List<UserEntity> getAllByLastName();
    List<UserEntity> getAllByGender();
    UserEntity getById(Long id);
    void remove(Long id);
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
@Repository
@Transactional()
public class UserRepositoryImpl  implements UserRepository {

    @PersistenceContext
    private EntityManager entityManager;

    @Override
    @Transactional
    public UserEntity save(UserEntity user) {
        if(user.getId() != null){
            return entityManager.merge(user);
        } else {
            entityManager.persist(user);
            return user;
        }
    }

    @Override
    public void update(UserEntity user) {

    }

    @Override
    public List<UserEntity> getAll() {
        CriteriaQuery<UserEntity> criteria = entityManager.getCriteriaBuilder().createQuery(UserEntity.class);
        criteria.select(criteria.from(UserEntity.class));
//        criteria.where( builder.equal( root.get( Person_.name ), "John Doe" ) );

        return entityManager.createQuery(criteria).getResultList();
    }

    @Override
    public List<UserEntity> getAllByFirstName() {
        return null;
    }

    @Override
    public List<UserEntity> getAllByLastName() {
        return null;
    }

    @Override
    public List<UserEntity> getAllByGender() {
        return null;
    }

    @Override
    public UserEntity getById(Long id) {
        return entityManager.find(UserEntity.class, id);
    }

    @Override
    public void remove(Long id) {
        UserEntity user = getById(id);
        if(user != null) {
            entityManager.remove(user);
        }
    }
}
...
Рейтинг: 0 / 0
Поиск по одному полю Hibernate
    #39643086
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по одному полю Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]