正如其他人提到的那样,如果您注释属性getter方法,则Hibernate在从数据库读取值时会使用setter。基本上,Hibernate假设最终写入数据库的所有内容都需要从数据库中读取。这意味着,如果您对一个getter进行注释,则在从数据库中读取对象时,它需要调用setter。
您可以将设置器设为私有(Hibernate将使用反射来访问设置器)。这是在仍然使用Hibernate进行关系映射的同时保留类协定的好方法。
如果该字段是从类中的其他属性派生的,那么为什么要将其存储在数据库中?您可以使用
@Transient批注来标记不应将其存储在数据库中的字段。您甚至可以使用
@Formula注释使Hibernate为您派生该字段(它通过使用发送到数据库的查询中的公式来完成此 *** 作)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)