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



在Hibernate中,放置@Id注释在字段声明本身之前

@Id
private int id;

以及在其getter和setter 之前

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

是两种不同的东西。如果getter/setter中有一些处理,这种差异就会生效。

问题是,对于没有@Id注释的非关键字段,是否存在这样的问题?

我的关键字段没有经过任何处理。然而,在其他字段中,我有一些字段在设置之前要验证/更改值。对于这些字段,我应该把注释放在它们的getters-setter之前吗?

据我观察,我没有撞到砖墙。不过,我想确定一下。

TIA。

注意:看到了有用的讨论:hibernate注释放在哪里?。

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

最新更新