[英]Retriving records from database using hibernate
我有一个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时,我得到的交易今天包含任何操作,但是我也获得了该交易的所有操作,即使该操作来自另一天。 因此它不满足条件。
有什么线索吗?
提前致谢!!
trade.operations
始终包含该交易的所有操作。 Hibernate不会为您提供部分初始化子集合的交易,因为它会中断更改跟踪,还会导致许多混乱。 因此,最好的休眠方式是为您提供交易和匹配操作对。 我将创建一个包含交易和匹配操作所需的所有属性的类,并使用AliasToBeanTransformer。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.