在 SQL 中,很容易进行连接,并且只从连接表中返回您想要的列。在 JPA/Hibernate 中映射它的最佳方法是什么?
例如,有一个文件夹实体映射到 EMAIL_FOLDER,一个电子邮件实体映射到 EMAIL 表。从文件夹到电子邮件是一对多的关系。 Email 实体相当重,因为它包含文本、附件等的 CLOB。在某些情况下,我们需要取回整个电子邮件,而在其他情况下,我们只想带回 senderName、subject 和 sentDate 以及不希望引入 CLOB 数据的内存开销。在 SQL 中实现这一点很简单,但我不确定在 JPA/Hibernate 中最好的方法是什么。
我正在考虑创建一个仅映射到 senderName、subject 和 sentDate 的 LightEmail。这是处理此类事情的最佳方法吗?
更新:此时我想尽可能避免使用字节码检测。
最佳答案
将属性 (CLOB) 注释为 @Basic(fetch=FetchType.LAZY)
见 Declaring basic property mappings在 hibernate 引用
关于hibernate - JPA/Hibernate在加入时选择列子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/255703/