主题说明了一切...到目前为止,我认为人们在 getter 和/或 setter 上声明注释没有任何优势。对我来说,这唯一的缺点是将注释分散到类上,这会使类更加难以阅读。
将注释放在字段上显然可以减少需要帮助时发布的代码量。但这只是一个微小的优势。但在方法上添加注释对我来说没有任何意义。
在方法上添加注释会强制 JPA 通过方法访问属性。当对象的内部状态与数据库模式不同时,这是有意义的:
@Entity
public class Employee {
private String firstName;
private String lastName;
@Column(name = "EMP_NAME") // Due to legacy database schema
public String getName() {
return fisrtName + " " + lastName;
}
public void setName(String name) {
...
}
... Getters and setters for firstName and lastName with @Transient ...
}
在 JPA 2.0 中,您可以使用以下命令在细粒度级别指定访问类型@Access
:
@Entity @Access(AccessType.FIELD)
public class Employee {
@Access(AccessType.PROPERTY) @Column(name = "EMP_NAME")
public String getName() { ... }
... other properties have field access ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)