usr*_*ΛΩΝ 5 java hibernate criteria
我必须编写一个方法,例如 public List<Integer> findIds(String someVendor),它只获取与给定属性值(例如,供应商)匹配的实体的 ID。
鉴于这个例子
public class Product{
private int id;
private String vendor;
}
Run Code Online (Sandbox Code Playgroud)
我可以轻松编写限制条件以匹配供应商。
但我不知道如何Criteria.list()返回Integer
return session.createCriteria(Producrt.class)
.add(Restrictions.eq("vendor",someVendor)
//What here?
.list();
Run Code Online (Sandbox Code Playgroud)
另外,如果我使用 C#/LINQ,我会写以下内容
return (from products product where product.vendor == someVendor select id).ToList();
Run Code Online (Sandbox Code Playgroud)
我从未在 Hibernate/Java 中使用过投影。如何仅将匹配实体的 ID 返回到列表中?
试试下面的代码,
sessionFactory.getCurrentSession().createCriteria(Product.class).add(
Restrictions.eq("vendor", "vendor-value")).setProjection(Projections.property("id"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4435 次 |
| 最近记录: |