как получить записи, имеющие значение в column1 меньше, чем column2, используя Hibernate - PullRequest
0 голосов
/ 28 июня 2018

У меня есть таблица цен, которая содержит столбцы buy_price и sell_price . Теперь я хочу получить записи, содержащие buy_price < sell_price, используя спящий режим.

Так же, как запрос MySQL

select * from price where buy_price < sell_price;

, но я не знаю, как выполнить hibernate (CriteriaSpecification), так как я новичок в hibernate.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Можете ли вы попробовать следующее?

    CriteriaQuery<Price> cq = cb.createQuery(Price.class);
    Root<Price> eg = cq.from(Price.class);
    cq.where(cb.gt(eg.get("sellPrice"), eg.get("buyPrice")));
0 голосов
/ 28 июня 2018

Предположим, у вас есть объект с именем Price с атрибутами buyPrice и sellPrice.

Затем select * from price where buy_price < sell_price; можно перевести в запрос критерия гибернации как (при условии, что у вас уже есть объект сеанса гибернации):

Criteria cr = session.createCriteria(Price.class);
cr.add(Restrictions.lt("buyPrice", "sellPrice"));
List results = cr.list();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...