|
|
1
191
首先,对 克尔 答案是:
罗布·H 有一个有效的点,但是您可能无法根据您的模型实现它(例如,如果您的一对一关联 是 可以为空)。 现在,就最初的问题而言:
a)
b)安装
否则,如果可以更改数据库(将外键列添加到所有者表中),请执行此操作并将其映射为“joined”:
在其他实体中:
如果你不能做到这一点(并且不能忍受急切的获取),那么字节码检测是你唯一的选择。我必须同意 卡普金斯 但是-如果你有 80!!!! 由于渴望一对一关联而加入,因此您遇到了更大的问题,如下所示:—) |
|
|
2
17
要让懒惰的加载处理可为空的一对一映射,需要让Hibernate这样做。
compile time instrumentation
添加一个
示例映射:
示例Ant构建文件扩展名(用于执行休眠编译时检测):
|
|
|
3
10
在冬眠中,除了Xtoones之外,最基本的想法是他们在大多数情况下并不懒惰。
一个原因是,当Hibernate必须决定放置一个代理(带有ID)或一个空值时,
编辑:详情请参阅CHSSPLY76的回答。 . 这个不太准确,也不详细,没有什么可提供的。感谢CHSSPLY76。 |
|
4
8
以下是一些对我有用的东西(没有仪器):
而不是使用
此设置工作缓慢,也就是说,只有在
表格结构:
班级:
|
|
|
5
5
在本机Hibernate XML映射中,可以通过声明 one-to-one 映射 约束的 属性设置为true。我不确定Hibernate/JPA注释与之等效的是什么,快速搜索文档没有提供任何答案,但希望这能给您一个继续下去的线索。 |
|
|
6
3
正如chssply76已经很好地解释的那样,Hibernate的代理对不受约束(可以为空)的一对一关联没有帮助,但是有一个技巧可以解释。 here 避免设置仪表。我们的想法是愚弄Hibernate,我们要使用的实体类已经被检测到:您可以在源代码中手动检测它。很简单!我已经使用cglib作为字节码提供程序实现了它,并且它可以工作(确保在您的HBM中配置lazy=“no proxy”和fetch=“select”,而不是“join”)。 我认为这是一个很好的选择 真实的 (我的意思是自动的)仪表化,当你只有一对一的空关系,你想让它变懒。主要的缺点是,解决方案取决于您使用的字节码提供程序,因此请准确地评论您的类,因为您将来可能需要更改字节码提供程序;当然,出于技术原因,您也在修改模型bean,这并不好。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 10 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 11 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 11 月前 |
|
pebble unit · 如何检查以前缀开头、以后缀结尾的属性(不是属性值) 11 月前 |
|
|
rudraraj · java中未声明最终变量 11 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 11 月前 |