Spring JPA oneToMany关系导致null外键异常

时间:2017-08-31 19:03:09

标签: java spring hibernate jpa spring-data

我有一个User对象,其中包含CardInformation对象列表(其付款选项)。如果我同时创建一个新用户和新的CardInformation - 引用User数据库id的外键为null(这是有意义的,因为我没有持久保存该对象)。保存User对象时,我处于印象弹簧或者hibernate处理这个问题。如果不是 - 这是如何解决的?通过在CardInformation对象中设置用户模型引用?

我保持模型简单并删除大部分数据,以便轻松查看onetomany关系详情。

数据库中的CardInformation具有外键owner_id - 引用user_id列。

这些是我的模特 - 用户:

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

/** Table id reference. */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_id")
private Long id;

/** First name. */
@Column(name = "first_name")
private String firstName;

/** Email. */
@Column(name = "email", unique = true, nullable = false)
private String email;

/** List of users payment options. */
@OneToMany(mappedBy = "userPersistenceModel", cascade = 
CascadeType.ALL, fetch = FetchType.LAZY)
private List<CardInformationPersistenceModel> cardInformationPersistenceModels;

加上所有吸气剂/安装者。

CardInformation模型:

@Entity
@Table(name = "CardInformation")
public class CardInformationPersistenceModel {

/** Unique db id. */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "card_id")
private Long id;

/** Card Holder Full Name. */
@Column(name = "CardHolderName")
private String cardHolderName;

/**
 * Many-1 reference to owner model.
 */
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "owner_id", nullable = false)
private UserPersistenceModel userPersistenceModel;

加上所有吸气剂/安装者等。

我收到的错误是 - owner_id在保存用户对象时为空

0 个答案:

没有答案