Hibernate注释 - 在字段声明之前或在getter-setter之前

时间:2016-04-04 23:15:39

标签: java hibernate

在Hibernate中,放置@Id注释 在现场声明之前

@Id
private int id;

之前和它的getter和setter

@Id
public int getId()  {  return this.id; }
public int setId(..) { .. }

是两件不同的事情。如果getter / setter中有一些处理,则此差异生效。

Q是否存在非关键字段的问题 - 那些没有@Id注释的字段?

我的关键字段未经处理。但是,在其他方面,我有一些字段,我在设置之前验证/更改值。对于那些领域,我应该把注释放在他们的getter-setters之前吗?

据我所知,我没有撞到砖墙。但是 - 想确定一下。

TIA。

注意:看到了有用的讨论:Where to put hibernate annotations?

1 个答案:

答案 0 :(得分:0)

对于非关键字段没有问题,但我个人更喜欢字段注释,特别是如果您不必在实体级别上执行某些业务逻辑:代码更清晰,所有与数据库相关的东西都在类的开头,你没有使用equals方法的奇怪问题(它总是使用字段 - 它发生在我身上)另外,如果你有其他方法与数据库处理没有严格关系,你必须设置它们@Transient