我曾经有一个类用于一个文件.例如,car.cs有类汽车.但是当我编写更多类时,我想将它们添加到同一个文件中.例如car.cs具有类车和门类等.
我的问题适用于Java,C#,PHP或任何其他编程语言.我应该尝试在同一个文件中没有多个类,还是可以的?
我仍在使用旧的org.hibernate.Criteria
,并且对获取模式越来越困惑。在各种查询中,我需要以下所有变体,因此我无法通过注释来控制它。我只是将所有内容都切换到@ManyToOne(fetch=FetchType.LAZY)
,否则,查询中的任何内容都没有更改。
到目前为止我能找到的要么涉及 HQL 或 JPA2,要么只提供两种选择,但对于旧标准和(至少)以下三种情况,我需要它:
SELECT * FROM item JOIN order on item.order_id = order.id
WHERE ...;
SELECT item.* FROM item JOIN order on item.order_id = order.id
WHERE ...;
SELECT order.* FROM order WHERE ...;
SELECT item.* FROM item JOIN order on item.order_id = order.id
WHERE ...
ORDER BY order.name, item.name;
看起来没有明确指定fetch=FetchType.LAZY
,一切都会像第一种情况一样急切地获取,这有时太糟糕了。我想,使用Criteria#setFetchMode
,我可以获得第三种情况。我还没有尝试过,因为我仍然错过了第二个案例。我知道,它在某种程度上可能,还有的@BatchSize
标注。