1006--<Property>

来源:互联网 发布:原子力显微镜知乎 编辑:程序博客网 时间:2024/06/08 11:56
property 元素用于指定类的属性和表的字段的映射
name:指定该持久化类的属性的名字
column:指定与类的属性映射的表的字段名.如果没有设置该属性, Hibernate将直接使用类的属性名作为字段名.
type:指定Hibernate映射类型. Hibernate映射类型是Java类型与SQL类型的桥梁.
   如果没有为某个属性显式设定映射类型, Hibernate会运用反射机制先识别出持久化类的特定属性的Java类型,
  然后自动使用与之对应的默认的 Hibernate映射类型.
not-null:若该属性值为true,表明不允许为null,默认为false
access:指定Hibernate的默认的属性访问策略。
  默认值为property, 即使用 getter, setter 方法来访问属性.
  若指定 field,Hibernate会忽略getter/setter方法,而通过反射访问成员变量
unique: 设置是否为该属性所映射的数据列添加唯一约束.
 
index: 指定一个字符串的索引名称.当系统需要Hibernate自动建表时,
   用于为该属性所映射的数据列创建索引,从而加快该数据列的查询.
length: 指定该属性所映射数据列的字段的长度
scale: 指定该属性所映射数据列的小数位数,double, float, decimal等类型的数据列有效.
formula:设置一个 SQL 表达式, Hibernate将根据它来计算出派生属性的值.
派生属性: 并不是持久化类的所有属性都直接和表的字段匹配,
    持久化类的有些属性的值必须在运行时通过计算才能得出来,这种属性称为派生属性
使用 formula 属性时
formula=“(sql)”的英文括号不能少
Sql表达式中的列名和表名都应该和数据库对应,而不是和持久化对象的属性对应
如果需要在 formula 属性中使用参数, 这直接使用where cur.id=id形式,
  其中 id 就是参数,和当前持久化对象的id属性对应的列的 id 值将作为参数传入.
0 0