/**
* Find list of children entities by their parent Id
*
* @param parentEntityName
* The parent entity name by which id will be queried.
* @param parentId
* Parent entity identifier for which children are queried.
* @return List of children owned by parent entity
*/
public List<T> findByParentId(String parentEntityName, Long parentId, String... orderby) {
CriteriaBuilder cb = this.em.getCriteriaBuilder();
CriteriaQuery<T> query = cb.createQuery(this.clazz);
Root<T> root = query.from(this.clazz);
query = query.select(root)
.distinct(true)
.where(
cb.equal(root.join(parentEntityName).get("id"), parentId));
if (orderby != null) {
query = query.orderBy(Arrays.stream(orderby)
.map(f -> cb.asc(root.get(f)))
.toArray(i -> new Order[i]));
}
List<T> list = this.em.createQuery(query).getResultList();
return list;
}
OSCEntityManager.java 文件源码
java
阅读 39
收藏 0
点赞 0
评论 0
项目:osc-core
作者:
评论列表
文章目录