【问题标题】:Hibernate annotations -- before field declaration or before getter-setterHibernate 注释——在字段声明之前或 getter-setter 之前
【发布时间】:2016-04-04 23:15:38
【问题描述】:

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

@Id
private int id;

在它的getter和setter之前

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

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

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

我的关键字段没有得到任何处理。但是,除其他外,我有一些字段要在设置之前验证/更改值。对于这些字段,我应该将注释放在它们的 getter-setter 之前吗?

据我观察,我没有撞到砖墙。但是 - 想确定。

TIA。

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

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2010-10-30
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2019-11-27
      相关资源
      最近更新 更多