首页 > 代码库 > hibernate字段名和属性

hibernate字段名和属性

字段名和属性名相同

Annotation:默认为@Basic

注意:如果在成员属性没有加入任何注解,则默认在前面加入了@Basic

Xml中不用写column

字段名和属性名不同

Annotation:使用@Column(name=”columnName”)进行注解

     例如:

     * @Entity 表示下面的这个Teacher是一个实体类      * @Table 表示映射到数据表中的表名,其中的name参数表示"表名称"      * @Column 表示实体类成员属性映射数据表中的字段名,其中name参数指定一个新的字段名      * @Id 表示主键Id      */      @Entity      @Table(name="_teacher")      public class Teacher {                private int id;           private String name;              private String title;                //设置主键使用@Id          @Id          public int getId() {              return id;          }                @Column(name="_name")//字段名与属性不同时          public String getName() {              return name;          }      ……  

 

 

     Xml:
  1. <property name="name" column="_name"/>

不需要(持久化)psersistence的字段

就是不实体类的某个成员属性不需要存入数据库中

Annotation:使用@Transient 进行注解就可以了。

    例如:

     @Transient          public String getTitle() {              return title;      }  

 

Xml:不写(就是不需要对这个成员属性进行映射)
映射日期与时间类型,指定时间精度

Annotation:使用@Temporal(value=http://www.mamicode.com/TemporalType)来注解表示日期和时间的注解

           其中TemporalType有三个值:TemporalType.TIMESTAMP 表示yyyy-MM-dd HH:mm:ss

                                    TemporalType.DATE     表示yyyy-MM-dd

                                    TemporalType.TIME     表示HH:mm:ss

     @Temporal(value=http://www.mamicode.com/TemporalType.DATE)          public Date getBirthDate() {              return birthDate;      } 

注意:当使用注解时,属性为value时,则这个属性名可以省略,例如:@Temporal(TemporalType)

Xml:使用type属性指定hibernate类型

     <property name="birthDate" type="date"/> 

    注意:hibernate日期时间类型有:date, time, timestamp,当然您也可以使用Java包装类

映射枚举类型

Annotation:使用@Enumerated(value=http://www.mamicode.com/EnumType)来注解表示此成员属性为枚举映射到数据库

        其中EnumType有二个值:①EnumType.STRING  表示直接将枚举名称存入数据库

                                        ②EnumType.ORDINAL 表示将枚举所对应的数值存入数据库

Xml:映射非常的麻烦,先要定义自定义类型,然后再使用这个定义的类型……

 

http://blog.sina.com.cn/s/blog_4979ec3e01016y0o.html

hibernate字段名和属性