hibernate基于注解的组件映射

来源:互联网 发布:页游服务端源码 编辑:程序博客网 时间:2024/05/21 00:49

基于注解的组件映射

在此以person和name为例:
Name实体类

public class Name {    private String firstName;    private String lastName;    //...省略构造方法和getter,setter方法}

Person实体类

@Entity//声明该类要在表中映射public class Person {    private int id;    private Name name;    private Date birthday;    //无参构造    @Id          // 声明该属性是主键字段    @GeneratedValue        //声明主键生成策略是自增长    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    /*        @Embedded:声明该属性组件映射,如果不需要更改name属性在表中字段的默认值,只写该注解即可,如果需要修改name属性在表中字段的默认值,则还需以下配置;        column = @Column(name = "first_name", length = 10):将组件相应的属性修改为什么值;         name = "firstName":对组件的那个属性进行修改    */    @Embedded    @AttributeOverrides(value = {            @AttributeOverride(column = @Column(name = "first_name", length = 10), name = "firstName"),            @AttributeOverride(column = @Column(name = "last_name", length = 10), name = "lastName") })    public Name getName() {        return name;    }    public void setName(Name name) {        this.name = name;    }    @Temporal(TemporalType.DATE)    public Date getBirthday() {        return birthday;    }    public void setBirthday(Date birthday) {        this.birthday = birthday;    }}
原创粉丝点击