<property name="username" column="uname" length="50"/>
常用属性:
type 一般由hibernate自动匹配(integer,string,character,date,timestamp,float,blob,binary等)
length 指定字段长度
column 指定列名,对于属性名与数据库关键字相同时,靠它解决
not-null 该字段非空
unique 该字段的值唯一
update 是否在update语句中包含该属性
access 一般取值为field或property,缺省为property
当指定其为field,将绕过getters/setters方法去获取/设置值,而是按字段进行反射。
用法:当需要改造setters/getters方法时(如property方法与field字段不是严格对应时),解决起来很方便!
还可以取值为null,则hibernate会忽略该属性的存在。
其它属性,参考文档
<class name="com.my.User" table="t_user" lazy="true"> <id name=”id“> native </id> <property name="name" type="string" length="20" not-null="true" unique="true"></property> <property name="address" type="string" length="500"></property> <property name="age" type="integer"></property> <property name="birthday" type="date"></property> <property name="createTime" type="timestamp" update="false"></property> <property name="desc" column="DESC" type="text"></property> <property name="image" type="binary" length="999999999" access="field"></property> </class>