2017-02-13 69 views
1

我正在开发一个应用程序使用SpringHibernate。下面是我的模型bean类:休眠没有设置外部约束

员工

@Entity 
@Table(name="employee") 
public class Employee { 
    @Id 
    @Column 
    @GeneratedValue 
    private int empid; 
    @Column 
    private String firstName; 
    @Column 
    private String lastName; 
    @Column 
    private String email; 
    @Column 
    private String password; 
    @Column 
    private boolean isAdmin; 

    @Column 
    private boolean isActive; 

    @Column 
    private boolean isLocked; 

//getter and setter 

PersonalDetails

public class PersonalDetails { 
    @Column 
    @Id 
    private int empid; 
    @Column 
    private String personalEmail; 
    @Column 
    private String mob; 
    @Column 
    private String permenantAdress; 
    @Column 
    private String currentAddress; 
    @Column 
    private String gender; 
    @Column 
    private String maritialStatus; 

    @OneToOne 
    @PrimaryKeyJoinColumn 
    @ForeignKey(name="empid") 
    private Employee employee; 

//getter and setter 

我的表得到的是没有得到在PersonalDetails台服务器启动,但外键约束自动创建组。

我错过了什么吗?

回答

1

我觉得你@OneToOne映射应如下:

@MapsId 
@OneToOne(cascade = CascadeType.ALL) 
@JoinColumn(name = "empid", referencedColumnName = "empid") 
private Employee employee; 

级联属性是可选的,但是一个很好的做法。