Hibernate Annotation

单项one-to-one关联
@OneToOne

public @interface OneToOne
{
    Class targetEntity() default void.class;
    CascadeType[] cascade() default{};
    FetchType fetch() default EAGER;
    boolean optional() default true;
    String mappedBy() default "";
}

 
关联方法:
1..................

@OneToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "ADDRESS_ID")
当使用复合主键的时候用@JoinColumns注解,如果不是主键则用referencedColumnName = ?
其中对于@JoinColumn

public @interface JoinColumn
{
    String name() default "";
    String referencedColumnName() default "";
    boolean unique() default false;
    boolean nullable() default true;
    boolean insertable() default true;
    boolean updatable() default true;
    String columnDefinition() default "";
    String table() default "";
}

 其中对于@JoinColumns

public @interface JoinColumns
{
    JoinColumn[] value();
}

 
2...................

public @interface PrimaryKeyJoinColumn
{
    String name() default "";
    String referencedColumnName() default "";
    String columnDefinition() default "";
}

 如果是复合主键就用@PrimaryKeyJoinColumns

public @interface PrimaryKeyJoinColumns
{
    PrimaryKeyJoinColumn[] value();
}

 

单向One-to-Many关联 

public @interface OneToMany 
{ 
    Class targetEntity() default void.class; 
    CascadeType[] cascade() default {}; 
    FetchType fetch() default LAZY; 
    String mappedBy() default ""; 
} 

 特别注意:这里fetch的默认属性为 LAZY 

@Entity 
public class Customer implements java.io.Serializable{ 
    ... 
    private Collection<Phone> phoneNumbers = new ArrayList<Phone>(); 
    ... 
    @OneToMany(cascade = {CascadeType.ALL}) 
    @JoinColumn(name = "CUSTOMER_ID") 
    public Collection<Phone> getPhoneNumbers(){ 
        return phoneNumbers; 
    } 
    public void setPhoneNumbers(Collection<Phone> phones){ 
        this.phoneNumbers = phones; 
    } 
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值