@AssociationOverrides @AttributeOverride @AttributeOverride

原创 2015年07月11日 10:46:40

@AssociationOverrides @AttributeOverride @AttributeOverride这三个注解就是用于修改从父类继承的属性和映射关系

如果使用 @AssociationOverride,则 Employee 表包含以下列:

  • ID

  • VERSION

  • ADDR_ID

  • WAGE

如果不使用 @AssociationOverride,则 Employee 表包含以下列:

  • ID

  • VERSION

  • ADDRESS

  • WAGE

示例 1-1 @MappedSuperclass

@MappedSuperclass
public class Employee {
@Id protected Integer id;
@Version protected Integer version;
@ManyToOne protected Address address;
    ...
}

示例 1-2 @AssociationOverride

@Entity@AssociationOverride(name="address", joinColumns=@JoinColumn(name="ADDR_ID"))public class PartTimeEmployee extends Employee {    @Column(name="WAGE")    protected Float hourlyWage;
    ...
}

如果使用 @AttributeOverride,则 Employee 表包含以下列:

  • ID

  • VERSION

  • ADDR_STRING

  • WAGE

如果不使用 @AttributeOverride,则 Employee 表包含以下列:

  • ID

  • VERSION

  • ADDRESS

  • WAGE

示例 1-4 @MappedSuperclass

@MappedSuperclass
public class Employee {
@Id protected Integer id;
@Version protected Integer version;
protected String address;
    ... 
}

示例 1-5 @AttributeOverride

@Entity
@AttributeOverride(name="address", column=@Column(name="ADDR_STRING"))
public class PartTimeEmployee extends Employee {
@Column(name="WAGE")
protected Float hourlyWage;
    ...
}
@Entity
@AssociationOverrides({
@AssociationOverride(name="address", joinColumn=@Column(name="ADDR_ID")),
@AssociationOverride(name="id", joinColumn=@Column(name="PTID"))
})
public class PartTimeEmployee extends Employee {
@Column(name="WAGE")
protected Float hourlyWage;
    ...
}

相关文章推荐

Hibernate中@Embedded和@Embeddable注解的使用

在使用实体类生成对应的数据库表时,很多的时候都会遇到这种情况:在一个实体类中引用另外的实体类,一般遇上这种情况,我们使用@OneToOne、@OneToMany、@ManyToOne、@ManyToM...

hibernate中的Annotation补充

下面使用Annotation来定义一个实体类: @Entity @Table(name="person_table")                                   ...

@AttributeOverrides和 @AttributeOverride

@AttributeOverrides和 @AttributeOverride @sunRainAmazing hibernate jpa注解 @AttributeOverrides和 @Att...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:@AssociationOverrides @AttributeOverride @AttributeOverride
举报原因:
原因补充:

(最多只允许输入30个字)