繁体   English   中英

使用休眠从数据库中检索记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM