如果我字段定义为不可更新的,这是否意味着该字段不能在所有的更新,永远不会消失? 我想要做的是防止现场的时候我保存整个实体对象得到更新,但仍然能够编写查询,明确更新此字段。 这可能吗?
我使用Hibernate和MySQL,但是我更愿意编写可移植代码。
如果我字段定义为不可更新的,这是否意味着该字段不能在所有的更新,永远不会消失? 我想要做的是防止现场的时候我保存整个实体对象得到更新,但仍然能够编写查询,明确更新此字段。 这可能吗?
我使用Hibernate和MySQL,但是我更愿意编写可移植代码。
作为记录 ,设置updatable=false
影响的持久性提供者生成的SQL仅UPDATE语句:
该列是否包含在持久性提供生成的SQL UPDATE语句。
你仍然能够写出这样将在此列的值更新SQL UPDATE语句。 在JPA规范中定义的这个功能,并且不休眠/ MySQL的特定。
@javax.persistence.Column( updatable=false )
使用HQL或经由休眠方法映射到的列将不会更新的。 如果你需要更新的数据库,你要编写本地SQL值。
如果我看到从逻辑上讲,它不应该让你更新时,你说updatable=false