在我们的应用程序中,我们需要具有只能分配一次的字段。
最初,我们想到封装字段并将设置程序设为私有。但是,引起一些问题:
提前致谢。
广告。1:我相信,如果将注释放在字段而不是在getter上,则JPA会将普通私有字段用于读写。最近,我发现作为基础JPA提供程序的Hibernate甚至根本不需要get*(),也没有set*()方法。因为从一开始我就认为Hibernate需要访问器,所以这确实是一个启发性的解决方案。因此答案是:就Hibernate而言, 您不需要二传手 。
get*()
set*()
广告。2:但是请注意,Hibernate仍然需要no-arg构造函数,否则它将无法加载具有描述性异常的实体。这也是JPA要求。
广告。3:不,没有。请记住,您的收藏也必须是不变的。