如何动态创建 CriteriaQuery
Posted
技术标签:
【中文标题】如何动态创建 CriteriaQuery【英文标题】:How do I dynamically create CriteriaQuery 【发布时间】:2011-04-19 00:59:54 【问题描述】:我想为此查询创建等效的 CriteriaQuery : 从用户 u 中选择 u,其中 u.name = "John" and u.surname = "Black" and u.middlename = "Small"; 但我对“where”谓词有疑问。 谢谢
【问题讨论】:
【参考方案1】:你可以使用:
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery c = ...;
Root root = ...;
Predications name = builder.equal(root.get("name"), name);
Predications surname = ...;
Predications middlename = ...;
c.where(name, surname, middlename);
【讨论】:
以上是关于如何动态创建 CriteriaQuery的主要内容,如果未能解决你的问题,请参考以下文章