在Hibernate中将setter标记为私有是一种好习惯吗?

时间:2016-04-25 11:19:04

标签: java hibernate orm

HibernateDocs
在此hibernate文档的链接中,在示例中,Cat.class setId()被声明为private
setters私有标记为我不想更改其值的字段是一种好习惯吗?
这也可以用作标记字段final的替代方法吗?为默认构造函数和构造函数提供所需字段,并为这些字段设置私有
我想在Hibernate的上下文中回答这个问题,而不是java的抽象。 这是一个很好的做法,是否应该使用?

1 个答案:

答案 0 :(得分:0)

我认为不是。字段封装方法用于从类外部访问/设置私有字段。如果您不想修改字段,则应将其声明为最终字段,或者不应声明setter方法。显示的hibernate示例是一个例外。如果持久化实体,则通过反射自动设置id属性(如果自动生成)。将此setter设为私有是保留此值的好方法,而不存在在代码中手动修改它的风险