unsaved-value
属性需要什么?
<id name="userid" column="userid" type="java.lang.Long" unsaved-value="null">
<generator class="sequence">
<param name="sequence">dmuseridseq</param>
</generator>
</id>
Run Code Online (Sandbox Code Playgroud)
jhe*_*dus 14
Hibernate映射文件指示Person上的id字段是数据库ID(即它是PERSON表中的主键).在id标记内是一个属性unsaved-value ="null",它告诉Hibernate使用id字段来确定是否先前保存了Person对象.ORM框架必须进行区分,以了解它们是否应该使用SQL INSERT或UPDATE语句保存对象.在这种情况下,Hibernate假定id字段在新对象上开始为null,并在首次保存时分配.
另外,您可以在"Java Persistence with Hibernate"一书中阅读"unsaved-value":
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html
unsaved-value(可选 - 默认为"敏感"值):标识符属性值,指示实例是新实例化的(未保存),将其与在先前会话中保存或加载的分离实例区分开来.
在你的榜样,unsaved-value="null"
似乎很没有意义的,因为我怀疑的"合理的默认"为Long
IS null
.
它对于原始类型(例如int
)更有用,它不可能null
,并且0
在某些应用程序中可能不需要默认的未保存值(0
是一个完全有效的数值).
归档时间: |
|
查看次数: |
12867 次 |
最近记录: |