Java 不想在Hibernate中发送子表
在我的一个表(问题表)中,几乎没有列 例如:assignedUser、approvedUser、resolvedUser 它们实际上都是一个用户表 像这样 问题表Java 不想在Hibernate中发送子表,java,hibernate,Java,Hibernate,在我的一个表(问题表)中,几乎没有列 例如:assignedUser、approvedUser、resolvedUser 它们实际上都是一个用户表 像这样 问题表 @JoinColumn(name = "assignedToId") @ManyToOne(fetch = FetchType.LAZY) private User assignedToId; @JoinColumn(name = "approvedUser") @ManyToOne(fetc
@JoinColumn(name = "assignedToId")
@ManyToOne(fetch = FetchType.LAZY)
private User assignedToId;
@JoinColumn(name = "approvedUser")
@ManyToOne(fetch = FetchType.LAZY)
private User approvedUser;
等等
然后,用户表中还有其他表,例如cit/country等
用户表
@JoinColumn(name = "countryId", nullable = true)
@ManyToOne(fetch = FetchType.LAZY)
private Country countryId;
等等
现在我想将这个问题实体发送到客户机,但不希望所有这些表都有子表
就像我必须用这个一样
crit.createAlias("assignedToId", "user");
crit.createAlias("user.countryId", "country");
crit.createAlias("user.cityId", "city");
crit.createAlias("city.countryId", "count");
crit.createAlias("user.groupId", "group");
对于每个用户,这使得我的处理速度非常慢。。
如果我不使用这些创建别名,该用户的国家/城市将变为null(这对我来说是可以的),这将使我的Rpc失败,并表示null。。如果我添加这些别名,一切都会正常运行,但是我的应用程序运行得非常慢
我用懒惰来忽略孩子,但这也迫使我把孩子送去
请引导
谢谢您的问题很不清楚。您如何尝试“发送”问题实例。这与查询的工作方式有什么关系?发送问题时,您得到的确切和完整的异常堆栈跟踪以及相关代码是什么?我想您说您不想获取用户的数据(国家/城市…),但您说您得到的是Null。因此,如果不需要,不要调用用户的数据。