且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

一对多休眠映射中未更新外键

更新时间:2022-06-25 20:13:45

我认为您的实体DeviceInfo中缺少@ManyToOne映射

I think @ManyToOne mapping is missing in your entity DeviceInfo

@Entity
@Table(name="user")
public class User {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="PK_USER_ID")
    private Integer userId;

    @Column(name="FIRST_NAME")
    private String firstName;

    @Column(name="LAST_NAME")
    private String lastName;

    @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY, mappedBy = "user")
    private Set<DeviceInfo> deviceInfos;
}

DeviceInfo.java

@Entity
@Table(name="device_info")
public class DeviceInfo {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="DEVICE_ID")
    private Integer deviceId;

    @Column(name="DEVICE_KEY")
    private String deviceKey;

  @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PK_USER_ID", nullable = false)
    private User user;
}