Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по одному полю Hibernate / 2 сообщений из 2, страница 1 из 1
11.05.2018, 10:02
    #39643072
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по одному полю Hibernate
Я новичек в 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
11.05.2018, 10:28
    #39643086
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по одному полю Hibernate
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по одному полю Hibernate / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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