使用Hibernate,您是否可以创建一个复合ID,其中您映射到ID的其中一列可以具有空值?
这是为了处理具有唯一键的旧表,该键可以具有空值但没有主键.
我意识到我可以在表中添加一个新的主键列,但我想知道是否有任何方法可以避免这样做.
不幸的是,没有。我要么必须使用解决方法:
我将复合 ID 用于视图(!不是表),其中行可以由 2 列(A,B)精确标识。尽管列之一 (B) 可以具有空值以及正整数。所以我的解决方法是我在视图中创建了一个新的列:“BKey”,并且我的视图被编写为如果 B 为 null,则 BKey 的值为 -1,否则 BKey = B。(只有正整数出现在 B 和 null 中)。我还更改了我的组合 id 实现以使用 BKey 而不是 B。希望它对某人有帮助..
| 归档时间: |
|
| 查看次数: |
20128 次 |
| 最近记录: |