如果我将一个字段定义为不可更新,这是否意味着该字段根本无法更新?我想做的是在保存整个实体对象时阻止该字段更新,但仍然能够编写显式更新该字段的查询。这可能吗?
我正在使用 Hibernate 和 MySQL,但我更喜欢编写可移植的代码。
如果我将一个字段定义为不可更新,这是否意味着该字段根本无法更新?我想做的是在保存整个实体对象时阻止该字段更新,但仍然能够编写显式更新该字段的查询。这可能吗?
我正在使用 Hibernate 和 MySQL,但我更喜欢编写可移植的代码。
如文件所述,设置仅影响持久性提供程序生成updatable=false
的SQL UPDATE 语句:
该列是否包含在持久性提供程序生成的 SQL UPDATE 语句中。
您仍然可以编写这样的 SQL 更新语句来更新该列中的值。此功能在 JPA 规范中定义,并非特定于 Hibernate/MySQL。
@javax.persistence.Column( updatable=false )
映射的列不能使用 HQL 或通过休眠方法更新。如果您需要更新数据库中的值,您应该编写本机 SQL。
如果我从逻辑上看,它不应该让你在你说的时候更新updatable=false