public static Specification<User> byKeyword(String keyword, String role, String active){
return (Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> {
List<Predicate> predicates = new ArrayList<>();
if (StringUtils.hasText(keyword)) {
predicates.add(
cb.or(
cb.like(root.get(User_.email), "%" + keyword + "%"),
cb.like(root.get(User_.username), "%" + keyword + "%")
));
}
if (StringUtils.hasText(role) && !"ALL".equals(role)) {
ListJoin<User, String> roleJoin = root.join(User_.roles);
predicates.add(cb.equal(roleJoin, role));
}
if (StringUtils.hasText(active)) {
predicates.add(cb.equal(root.get(User_.active), Boolean.valueOf(active)));
}
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
};
}
java类javax.persistence.criteria.Predicate的实例源码
UserSpecifications.java 文件源码
项目:spring-microservice-sample
阅读 31
收藏 0
点赞 0
评论 0
TestSuiteFilterSpecification.java 文件源码
项目:owl
阅读 48
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(Root<TestSuite> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
Predicate result = null;
if (StringUtils.isNotEmpty(filter.getSuite())) {
result = criteriaBuilder.like(criteriaBuilder.lower(root.get(SUITE_PROPERTY)),
buildLikeValue(filter.getSuite()));
}
return result;
}
PostSpecifications.java 文件源码
项目:spring-microservice-sample
阅读 40
收藏 0
点赞 0
评论 0
public static Specification<Post> filterByKeywordAndStatus(
final String keyword,//
final Post.Status status) {
return (Root<Post> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> {
List<Predicate> predicates = new ArrayList<>();
if (StringUtils.hasText(keyword)) {
predicates.add(
cb.or(
cb.like(root.get(Post_.title), "%" + keyword + "%"),
cb.like(root.get(Post_.content), "%" + keyword + "%")
)
);
}
if (status != null) {
predicates.add(cb.equal(root.get(Post_.status), status));
}
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
};
}
ConnectionHelper.java 文件源码
项目:otus_java_2017_10
阅读 50
收藏 0
点赞 0
评论 0
private static void _criteria(DbService dbService) {
final EntityManager em = dbService.getEntityManager();
// INSERT new record
em.getTransaction().begin();
em.persist(new Account("A"));
em.persist(new Account("B"));
em.persist(new Account("C"));
em.getTransaction().commit();
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Account> query = builder.createQuery(Account.class);
Root<Account> acc = query.from(Account.class);
Predicate cond = builder.gt(acc.get("id"), 1);
query.where(cond);
TypedQuery<Account> q = em.createQuery(query);
List<Account> resultList = q.getResultList();
System.out.println(resultList);
}
NotIn.java 文件源码
项目:sucok-framework
阅读 29
收藏 0
点赞 0
评论 0
@Override
public Predicate buildJpaPredicate(CriteriaBuilder builder, Root<?> root) {
Expression<Object> path = QueryFormHelper.getPath(root, field);
CriteriaBuilder.In<Object> predicate = builder.in(path);
int length = Array.getLength(value);
for (int i = 0; i < length; i++) {
predicate.value(Array.get(value, i));
}
return builder.not(predicate);
}
LeveringsautorisatieFilterFactory.java 文件源码
项目:OperatieBRP
阅读 41
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(final Root<?> leveringsautorisatieRoot, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
final Root<Dienstbundel> dienstbundelRoot = query.from(Dienstbundel.class);
final Root<Dienst> dienstRoot = query.from(Dienst.class);
// Join dienst op dienstbundel
final Predicate joinPredicateDienstbundel = dienstbundelRoot.get(ID).in(dienstRoot.get("dienstbundel").get(ID));
// Join dienst op leveringsautorisatie
final Predicate joinPredicateLeveringsautorisatie = leveringsautorisatieRoot.get(ID).in(dienstbundelRoot.get(LEVERINGSAUTORISATIE).get(ID));
// OntvangendePartij
final Predicate soortDienstPredicate = cb.equal(dienstRoot.get("soortDienstId"), value);
return cb.and(joinPredicateDienstbundel, joinPredicateLeveringsautorisatie, soortDienstPredicate);
}
MessageSpecs.java 文件源码
项目:REST-Web-Services
阅读 30
收藏 0
点赞 0
评论 0
/**
* Get a specification using the specified parameters.
*
* @param user The sender's user
* @param subject The subject of the message
* @param text The text of the message
* @return The specification
*/
public static Specification<MessageEntity> findSentMessagesForUser(
final UserEntity user,
@Nullable final String subject,
@Nullable final String text
) {
return (final Root<MessageEntity> root, final CriteriaQuery<?> cq, final CriteriaBuilder cb) -> {
final List<Predicate> predicates = new ArrayList<>();
predicates.add(cb.equal(root.get(MessageEntity_.sender), user));
if (Optional.ofNullable(subject).isPresent()) {
predicates.add(cb.like(root.get(MessageEntity_.subject), "%" + subject + "%"));
}
if (Optional.ofNullable(text).isPresent()) {
predicates.add(cb.like(root.get(MessageEntity_.text), "%" + text + "%"));
}
predicates.add(cb.isTrue(root.get(MessageEntity_.isVisibleForSender)));
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
};
}
MessageSpecs.java 文件源码
项目:REST-Web-Services
阅读 37
收藏 0
点赞 0
评论 0
/**
* Get a specification using the specified parameters.
*
* @param user The recipient's user
* @param subject The subject of the message
* @param text The text of the message
* @return The specification
*/
public static Specification<MessageEntity> findReceivedMessagesForUser(
final UserEntity user,
@Nullable final String subject,
@Nullable final String text
) {
return (final Root<MessageEntity> root, final CriteriaQuery<?> cq, final CriteriaBuilder cb) -> {
final List<Predicate> predicates = new ArrayList<>();
predicates.add(cb.equal(root.get(MessageEntity_.recipient), user));
if (Optional.ofNullable(subject).isPresent()) {
predicates.add(cb.like(root.get(MessageEntity_.subject), "%" + subject + "%"));
}
if (Optional.ofNullable(text).isPresent()) {
predicates.add(cb.like(root.get(MessageEntity_.text), "%" + text + "%"));
}
predicates.add(cb.isTrue(root.get(MessageEntity_.isVisibleForRecipient)));
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
};
}
ListingQuery.java 文件源码
项目:coodoo-listing
阅读 27
收藏 0
点赞 0
评论 0
private void addToWhereConstraint(ListingPredicate listingPredicate) {
if (listingPredicate != null) {
Predicate predicate = null;
List<ListingPredicate> filters = new ArrayList<>();
Map<String, Field> fieldMap = ListingUtil.getFields(domainClass).stream().collect(Collectors.toMap(field -> field.getName(), field -> field));
if (listingPredicate.hasPredicates()) {
filters.addAll(listingPredicate.getPredicates());
} else {
filters.add(new ListingPredicate().filter(listingPredicate.getAttribute(), listingPredicate.getFilter()));
}
predicate = filterByPredicateTree(listingPredicate.isDisjunctive(), listingPredicate.isNegation(), filters, fieldMap);
if (predicate != null) {
if (listingPredicate.isNegation()) {
predicate = criteriaBuilder.not(predicate);
}
whereConstraints.add(predicate);
}
}
}
TestRunFilterSpecification.java 文件源码
项目:owl
阅读 30
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(Root<TestRun> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
Predicate result = null;
if (!CollectionUtils.isEmpty(filter.getBuilds())) {
result = criteriaBuilder.in(root.get(BUILD_PROPERTY)).value(filter.getBuilds());
}
if (!CollectionUtils.isEmpty(filter.getTestSuites())) {
result = and(criteriaBuilder, result,
criteriaBuilder.in(root.get("testSuite").get("id")).value(filter.getTestSuites()));
}
if (!CollectionUtils.isEmpty(filter.getGit())) {
result = and(criteriaBuilder, result,
criteriaBuilder.or(
criteriaBuilder.in(root.get("gitHash")).value(filter.getGit()),
criteriaBuilder.in(root.get("gitBranch")).value(filter.getGit())
));
}
result = and(criteriaBuilder, result, criteriaBuilder.isNotNull(root.get("testSuite")));
return result;
}
LeveringsautorisatieFilterFactory.java 文件源码
项目:OperatieBRP
阅读 32
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(final Root<?> leveringsautorisatieRoot, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
final Root<Dienstbundel> dienstbundelRoot = query.from(Dienstbundel.class);
// Join dienst op leveringsautorisatie
final Predicate joinPredicateLeveringsautorisatie = leveringsautorisatieRoot.get(ID).in(dienstbundelRoot.get(LEVERINGSAUTORISATIE).get(ID));
// Dienstbundel
final Expression<String> attributeExpression = cb.lower(cb.function(UNACCENT, String.class, dienstbundelRoot.get("naam")));
final Expression<String> valueExpression =
cb.lower(
cb.function(
UNACCENT,
String.class,
cb.concat(cb.concat(cb.literal(WILDCARD), cb.literal(value.toString())), cb.literal(WILDCARD))));
final Predicate dienstBundelPredicate = cb.like(attributeExpression, valueExpression);
return cb.and(joinPredicateLeveringsautorisatie, dienstBundelPredicate);
}
PerfilService.java 文件源码
项目:photoiff
阅读 44
收藏 0
点赞 0
评论 0
public Pessoa validarUsuario(String log, String pass){
final CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
final CriteriaQuery<Pessoa> cquery = cb.createQuery(Pessoa.class);
final Root<Pessoa> root = cquery.from(Pessoa.class);
final List<Predicate> condicoes = new ArrayList<Predicate>();
condicoes.add(cb.equal(root.get("usuario").get("login"), log));
condicoes.add(cb.equal(root.get("usuario").get("senha"), pass));
cquery.select(root).where(condicoes.toArray(new Predicate[]{}));
Pessoa pessoa = new Pessoa();
try{
pessoa = getEntityManager().createQuery(cquery).getSingleResult();
} catch (Exception e) {
throw new QueryTimeoutException("Usuário ou senha invalido!");
}
return pessoa;
}
SpecificationImpl.java 文件源码
项目:spring-repository-plus
阅读 39
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(Root<Object> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
List<Predicate> predicates = new ArrayList<>();
for(Specification specification: specifications){
Predicate p = specification.toPredicate(root, cq, cb);
if(p!=null)
predicates.add(p);
}
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
}
BookSpecification.java 文件源码
项目:bookshelf
阅读 40
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(Root<Book> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicates = new ArrayList<>();
String title = criteria.getTitle();
if (Objects.nonNull(title) && !title.isEmpty()) {
predicates.add(cb.like(cb.lower(root.get(CONST_TITLE)), "%" + title.trim().toLowerCase() + "%"));
}
int year = criteria.getYear();
if (Objects.nonNull(year) && year > 0) {
predicates.add(cb.equal(root.<Integer>get(CONST_YEAR), year));
}
String author = criteria.getAuthor();
if (Objects.nonNull(author) && !author.isEmpty()) {
predicates.add(cb.like(cb.lower(root.get(CONST_AUTHOR)), "%" + author.trim().toLowerCase() + "%"));
}
return cb.and(predicates.toArray(new Predicate[0]));
}
GenericService.java 文件源码
项目:photoiff
阅读 40
收藏 0
点赞 0
评论 0
public Pessoa validarLoginAdminstrador(String login, String senha){
final CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
final CriteriaQuery<Pessoa> cquery = cb.createQuery(Pessoa.class);
final Root<Pessoa> root = cquery.from(Pessoa.class);
final List<Predicate> condicoes = new ArrayList<Predicate>();
condicoes.add(cb.equal(root.get("usuario").get("matricula"), login));
condicoes.add(cb.equal(root.get("usuario").get("senha"),senha));
cquery.select(root).where(condicoes.toArray(new Predicate[]{}));
Pessoa pessoa = new Pessoa();
try{
pessoa = getEntityManager().createQuery(cquery).getSingleResult();
}catch (Exception e) {
throw new QueryTimeoutException("Matricula ou Senha Invalidas");
}
return pessoa;
}
LogicalExpression.java 文件源码
项目:plumdo-work
阅读 47
收藏 0
点赞 0
评论 0
public Predicate toPredicate(Root<?> root, CriteriaQuery<?> query,
CriteriaBuilder builder) {
List<Predicate> predicates = new ArrayList<Predicate>();
for(int i=0;i<this.criterion.length;i++){
predicates.add(this.criterion[i].toPredicate(root, query, builder));
}
switch (operator) {
case OR:
return builder.or(predicates.toArray(new Predicate[predicates.size()]));
default:
return null;
}
}
ContributionSpecs.java 文件源码
项目:REST-Web-Services
阅读 24
收藏 0
点赞 0
评论 0
/**
* Generate a criteria query predicate for a where clause based on the given parameters.
*
* @param root The root to use
* @param cb The criteria builder to use
* @param movie The MovieEntity object
* @param field The movie field
* @param status The contribution status
* @param fromDate Creation date range "from"
* @param toDate Creation date range "to"
* @return The specification
*/
public static Predicate getFindPredicate(
final Root<ContributionEntity> root,
final CriteriaBuilder cb,
@Nullable final MovieEntity movie,
@Nullable final MovieField field,
@Nullable final DataStatus status,
@Nullable final Date fromDate,
@Nullable final Date toDate
) {
final List<Predicate> predicates = new ArrayList<>();
if (Optional.ofNullable(movie).isPresent()) {
predicates.add(cb.equal(root.get(ContributionEntity_.movie), movie));
}
if (Optional.ofNullable(field).isPresent()) {
predicates.add(cb.equal(root.get(ContributionEntity_.field), field));
}
if (Optional.ofNullable(status).isPresent()) {
predicates.add(cb.equal(root.get(ContributionEntity_.status), status));
}
if (fromDate != null) {
predicates.add(cb.greaterThanOrEqualTo(root.get(ContributionEntity_.created), fromDate));
}
if (toDate != null) {
predicates.add(cb.lessThanOrEqualTo(root.get(ContributionEntity_.created), toDate));
}
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
}
DynamicSpecification.java 文件源码
项目:bootstrap
阅读 37
收藏 0
点赞 0
评论 0
/**
* Return a predicate from a rule.
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private Predicate getPredicate(final Root<U> root, final CriteriaBuilder cb, final BasicRule rule, final CriteriaQuery<?> query) {
if (rule.getOp() == RuleOperator.CT) {
return getCustomPredicate(root, cb, rule, query);
}
final Expression expression = getOrmPath(root, rule);
if (expression == null) {
// Non matched expression, ignore it...
log.info(String.format("SQL injection attack ? Unable to map request rule for property %s", rule.getField()));
return null;
}
return getPredicate(cb, rule, expression);
}
JpaRelationDao.java 文件源码
项目:iotplatform
阅读 42
收藏 0
点赞 0
评论 0
private Specification<RelationEntity> getEntityFieldsSpec(EntityId from, String relationType,
RelationTypeGroup typeGroup, ThingType childType) {
return new Specification<RelationEntity>() {
@Override
public Predicate toPredicate(Root<RelationEntity> root, CriteriaQuery<?> criteriaQuery,
CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<>();
if (from != null) {
Predicate fromIdPredicate = criteriaBuilder.equal(root.get("fromId"),
UUIDConverter.fromTimeUUID(from.getId()));
predicates.add(fromIdPredicate);
Predicate fromEntityTypePredicate = criteriaBuilder.equal(root.get("fromType"), from.getEntityType().name());
predicates.add(fromEntityTypePredicate);
}
if (relationType != null) {
Predicate relationTypePredicate = criteriaBuilder.equal(root.get("relationType"), relationType);
predicates.add(relationTypePredicate);
}
if (typeGroup != null) {
Predicate typeGroupPredicate = criteriaBuilder.equal(root.get("relationTypeGroup"), typeGroup.name());
predicates.add(typeGroupPredicate);
}
if (childType != null) {
Predicate childTypePredicate = criteriaBuilder.equal(root.get("toType"), childType.name());
predicates.add(childTypePredicate);
}
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
}
};
}
PersoonFilterFactory.java 文件源码
项目:OperatieBRP
阅读 35
收藏 0
点赞 0
评论 0
@Override
public Predicate toPredicate(final Root<?> persoonRoot, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
final Root<PersoonAdres> persoonAdressenRoot = query.from(PersoonAdres.class);
final Predicate joinPredicateAdressen = persoonRoot.get(ID).in(persoonAdressenRoot.get(PERSOON).get(ID));
final Expression<String> attributeExpression1 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel1")));
final Expression<String> attributeExpression2 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel2")));
final Expression<String> attributeExpression3 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel3")));
final Expression<String> attributeExpression4 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel4")));
final Expression<String> attributeExpression5 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel5")));
final Expression<String> attributeExpression6 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel6")));
final Expression<String> valueExpression =
cb.lower(
cb.function(
UNACCENT,
String.class,
cb.concat(cb.concat(cb.literal(WILDCARD), cb.literal(value.toString())), cb.literal(WILDCARD))));
final Predicate adresPredicate1 = cb.like(attributeExpression1, valueExpression);
final Predicate adresPredicate2 = cb.like(attributeExpression2, valueExpression);
final Predicate adresPredicate3 = cb.like(attributeExpression3, valueExpression);
final Predicate adresPredicate4 = cb.like(attributeExpression4, valueExpression);
final Predicate adresPredicate5 = cb.like(attributeExpression5, valueExpression);
final Predicate adresPredicate6 = cb.like(attributeExpression6, valueExpression);
final Predicate buitenlandsAdres = cb.or(adresPredicate1, adresPredicate2, adresPredicate3, adresPredicate4, adresPredicate5, adresPredicate6);
return cb.and(joinPredicateAdressen, buitenlandsAdres);
}
BetweenField.java 文件源码
项目:sucok-framework
阅读 35
收藏 0
点赞 0
评论 0
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Predicate buildJpaPredicate(CriteriaBuilder cb, Root root) {
String field1 = (String) Array.get(value, 0);
String field2 = (String) Array.get(value, 1);
Expression<Comparable> path1 = QueryFormHelper.getPath(root, field1);
Expression<Comparable> path2 = QueryFormHelper.getPath(root, field2);
Expression<Comparable> parameter = cb.literal((Comparable) value);
return cb.between(parameter, path1, path2);
}
GreaterThanOrEqual.java 文件源码
项目:sucok-framework
阅读 35
收藏 0
点赞 0
评论 0
@Override
@SuppressWarnings({ "unchecked" })
public Predicate buildJpaPredicate(CriteriaBuilder cb, Root<?> root) {
Expression<Y> path = QueryFormHelper.getPath(root, field);
Y num = (Y) value;
return cb.greaterThanOrEqualTo(path, num);
}
LessThanOrEqual.java 文件源码
项目:sucok-framework
阅读 34
收藏 0
点赞 0
评论 0
@Override
@SuppressWarnings({ "unchecked" })
public Predicate buildJpaPredicate(CriteriaBuilder cb, Root<?> root) {
Expression<Y> path = QueryFormHelper.getPath(root, field);
Y num = (Y) value;
return cb.lessThanOrEqualTo(path, num);
}
Between.java 文件源码
项目:sucok-framework
阅读 36
收藏 0
点赞 0
评论 0
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Predicate buildJpaPredicate(CriteriaBuilder builder, Root root) {
Expression<Comparable> path = QueryFormHelper.getPath(root, field);
Comparable value1 = (Comparable) Array.get(value, 0);
Comparable value2 = (Comparable) Array.get(value, 1);
return builder.between(path, value1, value2);
}
LogicalExpression.java 文件源码
项目:plumdo-stock
阅读 44
收藏 0
点赞 0
评论 0
public Predicate toPredicate(Root<?> root, CriteriaQuery<?> query,
CriteriaBuilder builder) {
List<Predicate> predicates = new ArrayList<Predicate>();
for(int i=0;i<this.criterion.length;i++){
predicates.add(this.criterion[i].toPredicate(root, query, builder));
}
switch (operator) {
case OR:
return builder.or(predicates.toArray(new Predicate[predicates.size()]));
default:
return null;
}
}
EndPointCheckDao.java 文件源码
项目:endpoint-health
阅读 31
收藏 0
点赞 0
评论 0
public Collection<EndPointCheck> findByDateRange(final EndPoint endPoint, final Date startDate,
final Date endDate) {
final CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
final CriteriaQuery<EndPointCheck> criteriaQuery = criteriaBuilder.createQuery(getEntityClass());
final Root<EndPointCheck> root = criteriaQuery
.from(getEntityManager().getMetamodel().entity(getEntityClass()));
final ParameterExpression<EndPoint> endPointParameter = criteriaBuilder.parameter(EndPoint.class);
final ParameterExpression<Date> startDateParameter = criteriaBuilder.parameter(Date.class);
final ParameterExpression<Date> endDateParameter = criteriaBuilder.parameter(Date.class);
final Predicate endPointIdPredicate = criteriaBuilder
.equal(root.get("endPoint"), endPointParameter);
final Path<Date> checkDatePath = root.<Date> get("checkDate");
final Predicate startDatePredicate = criteriaBuilder
.greaterThanOrEqualTo(checkDatePath, startDateParameter);
final Predicate endDatePredicate = criteriaBuilder.lessThanOrEqualTo(
checkDatePath,
endDateParameter);
criteriaQuery.where(criteriaBuilder.and(endPointIdPredicate, startDatePredicate, endDatePredicate));
criteriaQuery.orderBy(Arrays.asList(criteriaBuilder.asc(checkDatePath)));
return getEntityManager().createQuery(criteriaQuery)
.setParameter(endPointParameter, endPoint)
.setParameter(startDateParameter, startDate, TemporalType.DATE)
.setParameter(endDateParameter, endDate, TemporalType.DATE)
.getResultList();
}
CodeSystemDao.java 文件源码
项目:careconnect-reference-implementation
阅读 40
收藏 0
点赞 0
评论 0
@Override
@Transactional
public CodeSystemEntity findBySystem(String system) {
CriteriaBuilder builder = em.getCriteriaBuilder();
CodeSystemEntity codeSystemEntity = null;
CriteriaQuery<CodeSystemEntity> criteria = builder.createQuery(CodeSystemEntity.class);
Root<CodeSystemEntity> root = criteria.from(CodeSystemEntity.class);
List<Predicate> predList = new LinkedList<Predicate>();
log.trace("FlushMode = "+em.getFlushMode());
log.trace("Entity Manager Properties = "+ em.getProperties().toString());
Predicate p = builder.equal(root.<String>get("codeSystemUri"),system);
predList.add(p);
Predicate[] predArray = new Predicate[predList.size()];
predList.toArray(predArray);
if (predList.size()>0)
{
log.trace("Found CodeSystem "+system);
criteria.select(root).where(predArray);
List<CodeSystemEntity> qryResults = em.createQuery(criteria).getResultList();
for (CodeSystemEntity cme : qryResults) {
codeSystemEntity = cme;
break;
}
}
if (codeSystemEntity == null) {
log.info("Not found adding CodeSystem = "+system);
codeSystemEntity = new CodeSystemEntity();
codeSystemEntity.setCodeSystemUri(system);
save(codeSystemEntity);
}
return codeSystemEntity;
}
PerfilService.java 文件源码
项目:photoiff
阅读 41
收藏 0
点赞 0
评论 0
public List<Pessoa> filtrarPorNome(String filtro){
final CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
final CriteriaQuery<Pessoa> cquery = cb.createQuery(Pessoa.class);
final Root<Pessoa> root = cquery.from(Pessoa.class);
final List<Predicate> condicoes = new ArrayList<Predicate>();
Expression<String> path = root.get("nome");
condicoes.add(cb.like(path, "%"+filtro+"%"));
cquery.select(root).where(condicoes.toArray(new Predicate[]{}));
List<Pessoa> pessoas = getEntityManager().createQuery(cquery).getResultList();
return pessoas;
}
LindImpl.java 文件源码
项目:linq
阅读 35
收藏 0
点赞 0
评论 0
protected void applyPredicateToCriteria() {
Predicate predicate = parsePredicate(junction);
if (predicate != null) {
if (sq != null) {
sq.where(predicate);
} else {
criteria.where(predicate);
}
}
}
DeployTargetDao.java 文件源码
项目:cf-mta-deploy-service
阅读 35
收藏 0
点赞 0
评论 0
private TypedQuery<Dto> createFindByNameQuery(String name) {
EntityManager em = createEntityManager();
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Dto> query = builder.createQuery(this.classVersion);
Root<Dto> entity = query.from(this.classVersion);
Predicate namePredicate = builder.equal(entity.get(DEPLOY_TARGET_NAME), name);
return em.createQuery(query.select(entity).where(namePredicate));
}