现在,我正在学习 JPA。JPA 建议我们必须有公共方法和私有字段,并且没有静态和最终变量。还有空构造函数..为什么我们需要这种格式.???
问问题
2470 次
1 回答
5
实际上规范不推荐,它是相当规范的以下(除其他外):
- 公共或受保护的无参数构造函数必须存在。额外的构造函数很好。
- 持久性字段不应该是公共的(受保护的、包可见的和私有的都是大声的)。
- 最终的持久性属性或方法是不大声的。
这些限制的一些原因是:
- JPA 提供者需要创建实体实例。如果类只包含带有任意参数的构造函数,则 JPA 提供程序无法计算出这些参数的值。
- 可能公共可见性根本没有大声,因为不应从课堂外直接访问字段。或者也许有更好的理由,但我没有意识到这一点。
- Provider 想创建代理,如果方法是 final 是不可能的。属性也不应该是最终的,因为这样提供者就不能为它们赋值。
此外,静态持久属性没有太大意义,因为为什么一个值会被所有实体实例共享。
于 2012-09-09T18:13:56.580 回答