fix boot 2 upgrade, rename package

This commit is contained in:
Loredana
2018-11-11 23:33:13 +02:00
parent 340a502d7c
commit 412136b8db
37 changed files with 125 additions and 121 deletions

View File

@@ -0,0 +1,43 @@
package com.baeldung.persistence.dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.springframework.stereotype.Repository;
import com.baeldung.persistence.model.User;
import com.baeldung.web.util.SearchCriteria;
@Repository
public class UserDAO implements IUserDAO {
@PersistenceContext
private EntityManager entityManager;
@Override
public List<User> searchUser(final List<SearchCriteria> params) {
final CriteriaBuilder builder = entityManager.getCriteriaBuilder();
final CriteriaQuery<User> query = builder.createQuery(User.class);
final Root r = query.from(User.class);
Predicate predicate = builder.conjunction();
UserSearchQueryCriteriaConsumer searchConsumer = new UserSearchQueryCriteriaConsumer(predicate, builder, r);
params.stream().forEach(searchConsumer);
predicate = searchConsumer.getPredicate();
query.where(predicate);
return entityManager.createQuery(query).getResultList();
}
@Override
public void save(final User entity) {
entityManager.persist(entity);
}
}