EdM*_*elo 18 java hibernate immutability jpa-2.0
在我们的应用程序中,我们需要只能分配一次的字段.
起初我们考虑封装字段并使setter私有化.但是,有些问题会引起:
提前致谢.
Tom*_*icz 15
广告.1:我认为如果注释放在字段上而不是放在getter上,JPA会使用普通的私有字段进行读取和写入.最近我发现Hibernate作为底层JPA提供者根本不需要get*()和set*()方法.这是一个真正具有启发性的解决方案,因为从一开始我认为Hibernate需要访问器.所以答案是:就Hibernate而言,你不需要setter.
广告.2:但是请注意,Hibernate仍然需要no-arg构造函数,否则它将无法加载具有描述性异常的实体.这也是JPA的要求.
广告.3:不,没有.请记住,您的收藏品也必须是不可变的.
小智 11
尝试
@Column(updatable = false)
Run Code Online (Sandbox Code Playgroud)
并使你的二传手私人.(如果你愿意,可以公开你的获取者)
我认为这是最好的做法.
PS:如果您注释字段,JPA使用字段访问,如果您注释getter方法,则使用getter/setter访问权限.
| 归档时间: |
|
| 查看次数: |
11388 次 |
| 最近记录: |