Ste*_*anM 1 java persistence jdbc
目前我正在从事一个项目,我们最近对此进行了讨论。因此,让任何带有数字列的数据库表都允许在源代码中“无值”。
我的一些同事更喜欢在其映射对象中使用基本类型 int 并将本例中的值设置为 -1;我更喜欢使该列可为空,使用源中的 Integer 对象而不是原始类型,并将该值设置为 null。
现在我正在寻找两种变体的优点和缺点,但到目前为止找不到任何东西。
到目前为止我找到的唯一一篇文章是这篇: http://www.javapractices.com/topic/TopicAction.do?Id=134 ...
这条规则有一个非常常见的例外。对于粗略映射到数据库记录的模型对象,通常适合使用 null 来表示在数据库中存储为 NULL 的可选字段
...
@编辑我需要补充一点,这种列在这个项目中用作一种假外键。它们不是真正的数据库约束,但用作数据库约束。不要问我为什么...我知道我知道:-) -1 在这种情况下意味着它与另一个表的主键/id 没有关系。所以它不需要任何计算或类似的东西......
对于可空列,当您不想存储值时,最好具有空值。您使用 Null Integer 对象的方法远远好于 -1
考虑到这一点,您的数字列正在用于计算,并且添加 -1 (而不是 null)可能会更改计算。但是,如果你有Null你的计算就会是正确的
使用空整数的优点:
这些人仍然使用 int - 原语的原因可能是他们还没有意识到使用对象相对于原语的好处,或者仍然习惯 JDK 1.4 风格的编码
我希望我能够回答你的问题......
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |