通过属性访问还是通过字段访问?每种都有哪些优点和缺点?
我更喜欢访问器,因为我可以在需要时向访问器添加一些业务逻辑。这是一个例子:
@Entity public class Person { @Column("nickName") public String getNickName(){ if(this.name != null) return generateFunnyNick(this.name); else return "John Doe"; } }
此外,如果你将其他库(例如一些基于JSON转换的库,BeanMapper或Dozer或其他基于getter / setter属性的Bean映射/克隆库)添加到混合库中,则可以确保该库与持久性同步经理(都使用getter / setter)。