从性能和设计的角度来看,在getter上使用注释比在成员变量上更好,因为与方法相比,使用反射将getter
setter调用(如果放置在字段上)。同样,如果您打算使用验证和hibernate的其他功能,则将所有注释都放在一个位置,而不是将它们分散在整个位置。
我的建议是使用方法而不是成员变量。
从文档中
根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,如果使用属性访问,则为getter方法;如果使用字段访问,则为字段。应该避免在字段和方法中混用EJB3注释。Hibernate将从@Id或@EmbeddedId的位置猜测访问类型。



