Hibernate Annotations - 哪个更好,字段访问还是属性访问?

2022-01-13 00:00:00 annotations orm java Hibernate jpa

这个问题与Hibernate Annotation Placement Question有些相关.

但我想知道哪个更好?通过属性访问还是通过字段访问?各有什么优缺点?

But I want to know which is better? Access via properties or access via fields? What are the advantages and disadvantages of each?

推荐答案

我更喜欢访问器,因为我可以在需要时向访问器添加一些业务逻辑.这是一个例子:

I prefer accessors, since I can add some business logic to my accessors whenever I need. Here's an example:

@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).

Besides, if you throw another libs into the mix (like some JSON-converting lib or BeanMapper or Dozer or other bean mapping/cloning lib based on getter/setter properties) you'll have the guarantee that the lib is in sync with the persistence manager (both use the getter/setter).

相关文章