3.hibernate基础配置

来源:互联网 发布:java覆盖 编辑:程序博客网 时间:2024/06/05 02:48

1.表名和类名不同时:

方式1:在映射文件里面配置:

<hibernate-mapping packsge="com.实体类包路径">    <class name="Student" table="_student">        <id name="id"></id>        <property name="name"></property>        <property name="age"></property>    </class></hibernate>

2.entity @Table注解:

@Entity@Table(name="S_student"public class Student{//略}

3.字段名与属性名相同

@Entity@Table(name="S_student"public class Student{     private int id;     private String name;     private String title;     @Id      public int getId(){        return id;        }      //略}

在xml文件想要对某一个属性做映射必须用 指出,不指出的属性不会做映射。
在annotation中 没有指出的属性,默认都做映射。


4.字段名与属性名不相同

@Entity@Table(name="S_student"public class Student{//略}

3.字段名与属性名相同

@Entity@Table(name="S_student"public class Student{     private int id;     private String name;     private String title;     @Id      public int getId(){        return id;        }      @Column(name="字段名")      public int getName(){        return id;        }      //略 }

注解
annottion: @Column(name=”字段名”)

xml文件:

<property name="name" column="colume_name">

4.不需要persistence的字段

annotation:

@Transientpublic String getBudaoshujuku(){    return Budaoshujuku;}

5.映射枚举类型 @Enumerated(EnumType.STRING)

public enum ZhiCheng{    A,B,C}public class Teacher{    private ZhiCheng zhiCheng;     @Enumerated(EnumType.STRING)    public ZhiCheng getZhiCheng(){        return zhiCheng;    }    public void setZhiCheng(ZhiCheng zhiCheng){        this.zhiCheng=zhiCheng;    }}

@Enumerated(EnumType.STRING) 映射到数据库中的是字段的具体值:A、B、C
@Enumerated(EnumType.ORDINAL)映射到数据库中的是字段的下标值。

0 0