根据我的理解@OneToOne和@ManyToOneJPA批注进行eager提取。我希望将它们延迟加载到我的应用程序中,或者至少提示它(这是hibernate默认值)。我已经开始添加注释fetch = FetchType.LAZY
@OneToOne
@ManyToOne
eager
fetch = FetchType.LAZY
例如
@ManyToOne(optional = false, fetch = FetchType.LAZY)
代替
@ManyToOne(optional = false)
这既乏味又容易出错。有什么方法可以在应用程序级别执行此操作吗?在persistence.xml中?
迄今为止,我选择让Hibernate在通过注释进行映射方面遵循JPA规范,仅仅是因为我没有收到任何使其可配置的功能请求,这令人惊讶。如您所指出的,自Hibernate 3.0起,所需的内容已成为使用hbm.xml映射文件时的默认设置。
hbm.xml
通过配置允许这样做 不会 违反规范,因为这是另一个建议。
长话短说,不,今天不可能。如果您希望可以配置,请创建功能请求。