本文整理汇总了Java中org.apache.deltaspike.data.api.criteria.Criteria.join方法的典型用法代码示例。如果您正苦于以下问题:Java Criteria.join方法的具体用法?Java Criteria.join怎么用?Java Criteria.join使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.deltaspike.data.api.criteria.Criteria
的用法示例。
在下文中一共展示了Criteria.join方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: findByNomeETelefone
import org.apache.deltaspike.data.api.criteria.Criteria; //导入方法依赖的package包/类
public List<Pessoa> findByNomeETelefone(String nome, String numero) {
log.trace("Entrou em findByNomeETelefone");
Criteria<Pessoa, Pessoa> crit = criteria().
distinct().
fetch(Pessoa_.telefones);
if (nome != null && !nome.trim().isEmpty()) {
log.debug("Filtrando por nome");
crit.like(Pessoa_.nome, "%" + nome + "%");
}
if (numero != null && !numero.trim().isEmpty()) {
log.debug("Filtrando por número");
crit.join(Pessoa_.telefones,
where(Telefone.class).
like(Telefone_.numero, "%" + numero + "%"));
}
log.debug("Retornar os resultados");
return crit.orderAsc(Pessoa_.id).getResultList();
}
示例2: addInExampleRestriction
import org.apache.deltaspike.data.api.criteria.Criteria; //导入方法依赖的package包/类
private void addInExampleRestriction(Criteria criteria, T example, Attribute<T, ?> attribute) {
PluralAttribute<T, ?, ?> listAttribute = (PluralAttribute<T, ?, ?>) attribute;
Class joinClass = listAttribute.getElementType().getJavaType();
Criteria joinCriteria = where(joinClass, JoinType.LEFT);
if (listAttribute instanceof ListAttribute) {
criteria.join((ListAttribute) listAttribute, joinCriteria);
} else if (listAttribute instanceof SetAttribute) {
criteria.join((SetAttribute) listAttribute, joinCriteria);
} else if (listAttribute instanceof MapAttribute) {
criteria.join((MapAttribute) listAttribute, joinCriteria);
} else if (listAttribute instanceof CollectionAttribute) {
criteria.join((CollectionAttribute) listAttribute, joinCriteria);
}
if (attribute.getJavaMember() instanceof Field) {
Field field = (Field) attribute.getJavaMember();
field.setAccessible(true);
try {
Object value = field.get(example);
if (value != null) {
LOG.fine(String.format("Adding an ín'restriction on attribute %s using value %s.", attribute.getName(), value));
Collection<PersistenceEntity> association = (Collection<PersistenceEntity>) value;
SingularAttribute id = getEntityManager().getMetamodel().entity(listAttribute.getElementType().getJavaType()).getId(association.iterator().next().getId().getClass());
List<Serializable> ids = new ArrayList<>();
for (PersistenceEntity persistenceEntity : association) {
ids.add(persistenceEntity.getId());
}
joinCriteria.in(id, ids);
}
} catch (IllegalAccessException e) {
LOG.warning(String.format("Could not get value from field %s of entity %s.", field.getName(), example.getClass().getName()));
}
}
}