我有一个价格表,其中包含列 buy_price 和 sell_price 。现在,我想使用休眠模式获取包含buy_price < sell_price
的记录。
就像mysql查询一样
select * from price where buy_price < sell_price;
但是我不熟悉休眠,所以不知道如何使用休眠(CriteriaSpecification)。
答案 0 :(得分:0)
假设您有一个名为Price
的实体,其属性为buyPrice
和sellPrice
。
然后select * from price where buy_price < sell_price;
可以在hibernate criteria query中转换为(假设您已经有一个休眠会话对象):
Criteria cr = session.createCriteria(Price.class);
cr.add(Restrictions.lt("buyPrice", "sellPrice"));
List results = cr.list();
答案 1 :(得分:0)
您可以尝试以下吗?
CriteriaQuery<Price> cq = cb.createQuery(Price.class);
Root<Price> eg = cq.from(Price.class);
cq.where(cb.gt(eg.get("sellPrice"), eg.get("buyPrice")));