【问题标题】:Hibernate not setting foreign constrainsHibernate 没有设置外部约束
【发布时间】:2023-03-10 13:25:01
【问题描述】:

我正在使用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

个人资料

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 表中的外键约束未设置。

我错过了什么吗?

【问题讨论】:

    标签: java spring hibernate jpa orm


    【解决方案1】:

    我认为你的@OneToOne 映射应该如下:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-17
      • 2015-09-12
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      相关资源
      最近更新 更多