Hibernate 是否可以在@manytone接口中只公开外键而不是整个对象

Hibernate 是否可以在@manytone接口中只公开外键而不是整个对象,hibernate,jpa,Hibernate,Jpa,上述代码中的@manytone接口被建模为“组织机构”,即使数据库中只存储了组织id。我不能将其建模为Integer orgId,这样就可以避免为了持久性而加载整个组织对象 有时,当我们为不同的组织大容量导入用户时,加载组织所花费的时间比加载用户持久性本身要多。想知道其他人是如何处理此问题的。您应该使用@ManyToOne(fetch=FetchType.LAZY)进行Hibernate延迟加载(FetchType.LAZY),以便不加载整个组织对象。如果您只访问user.org.id,hibe

上述代码中的
@manytone接口
被建模为“
组织机构
”,即使数据库中只存储了组织id。我不能将其建模为
Integer orgId
,这样就可以避免为了持久性而加载整个组织对象


有时,当我们为不同的组织大容量导入用户时,加载组织所花费的时间比加载用户持久性本身要多。想知道其他人是如何处理此问题的。

您应该使用
@ManyToOne(fetch=FetchType.LAZY)
进行Hibernate延迟加载(FetchType.LAZY),以便不加载整个组织对象。如果您只访问user.org.id,hibernate将知道不要加入整个表来查找组织id

是的,如果这是代码中唯一要使用的字段,您可以映射
整数orgId

@Entity public class Organization {}

@Entity public class User {
    @ManyToOne
    Organization org;
}