Hibernate映射关系之一对一

1、主键相同的一对一关系(商店与商家账户的管理)

两个实体类使用相同的主键,反过来,具有相同主键的尸体被视为一对一的关系。这样就省掉外键关联。

商店类:


@Entity
@Table(name="tb_store")
public class Store {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;
    /**
     * 区信息之外的详细商店地址
     */
    @Column(nullable=false)
    private String address;
    /**
     * 商家名称
     */
    @Column(nullable=false)
    private String name;

}

商家账户:

/**
 * @author JL 用户类
 */
@Entity
// 实体类配置
@Table(name = "tb_seller")
// 表格配置
public class Seller {

    /**
     * 这里仅仅设置为主键,但不要自增长。
     */
    @Id
    private Integer id;

    @OneToOne
    @PrimaryKeyJoinColumn
    private Store store;
    
}

创建的时候:

先创建store,然后new 一个seller,此时将store的id赋值给seller,再创建seller

Done

posted @ 2014-08-07 19:58  行云有影  阅读(151)  评论(0编辑  收藏  举报