У меня есть класс Trade
и подкласс Operation
. Они отображаются в базе данных. Поэтому, когда я делаю:
trades = session.createQuery("from Trade").list()
Я получаю список торговых записей и могу получить доступ к операциям для определенной сделки через мой торговый экземпляр.
Однако, когда я делаю:
trades = session.createQuery("
from Trade as trade
inner join trade.operations as operation
with to_char(operation.datetime, 'yyyyMMdd') = to_char(sysdate, 'yyyyMMdd')
order by operation.datetime"
).list();
Я получаю массив объектов, где каждый элемент содержит экземпляр операции и сделки.
Как я могу получить записи в виде массива сделок (аналогично первому варианту) с условиями (аналогично второму варианту)?
Я пытался: выбрать сделку из Trade как внутреннее торговое объединение trade.operations как операцию с ордером to_char (operation.datetime, 'yyyyMMdd') = to_char (sysdate, 'yyyyMMdd') по operation.datetime
Это сработало, спасибо javatestcase. Однако, когда я зацикливаю trade.operations, я получаю сделки, которые на сегодня содержат какие-либо операции, но я также получаю все операции для этой сделки, даже если это операция другого дня. Так что это не удовлетворяет условию.
Есть подсказка?
Заранее спасибо !!