首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate映射具有空值的组合键

问Hibernate映射具有空值的组合键
EN

Stack Overflow用户
提问于 2008-09-16 10:07:18
回答 6查看 24.3K关注 0票数 27

使用Hibernate,是否可以创建一个复合ID,其中映射到该ID的某一列可以具有空值?

这是为了处理具有唯一键的遗留表,该唯一键可以有空值,但没有主键。

我意识到我可以只向表中添加一个新的主键列,但我想知道是否有任何方法可以避免这样做。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-16 10:12:18

不是的。主键不能为空。

票数 13
EN

Stack Overflow用户

发布于 2016-04-15 15:06:22

你不会得到错误,但是Hibernate不能将那些复合列的空值的行映射到你的实体。这意味着你得到的实体在结果中是空值的。

票数 5
EN

Stack Overflow用户

发布于 2017-02-15 19:17:05

不幸的是,没有。我要么不得不使用一种变通办法:

我为一个视图使用了复合Id (!不是表),其中行可以由2个cols精确地标识(A,B)。尽管其中一个cols (B)可以具有空值以及正整数。所以我的解决方法是我在视图中创建了一个新的列:" BKey“,我的视图被写成如果B是null,那么BKey的值是-1,否则BKey=B。(B和null中只出现正整数)。我还更改了我的复合id实现,使用BKey而不是B。希望这对某些人有帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档