我问是因为我想为 getter/setter 使用代码生成。
还因为我希望映射注释出现在类的顶部,我在其中声明字段。
我想知道这种方法是否正确:
@Entity
@Table(name = "test")
// @Access(AccessType.PROPERTY) // cannot use this, because hibernate complains that no
public class Test implements Serializable
{
@Id
// I hope this results in property access for all of the other
// properties as well, but I am not sure how to confirm this...
@Access(AccessType.PROPERTY)
@Column(name = "id")
private long id = 0;
@Column(name = "test_string")
private String testString = null;
...
更新:我刚刚测试了上面的示例,看起来“testString”属性是使用字段访问来访问的。我在 getter/setter 中添加了日志语句,但它们从未被调用过。另一方面,当我将 @Access(AccessType.PROPERTY) 也添加到“testString”字段时,调用了 getter 和 setter 方法。
所以目前看来我唯一的选择是在每个字段前面写“@Access(AccessType.PROPERTY)”:-(