@Entity
@Data
@NoArgsConstructor
public class Offer {
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "user_id", referencedColumnName = "id")
private User user;
}
@Data
@EqualsAndHashCode
@Entity
@NoArgsConstructor
public class User {
@OneToMany(mappedBy = "user",cascade = CascadeType.ALL,fetch=FetchType.LAZY)
private Set<Offer> offers = new HashSet<Offer>();
}
如果表User和Offer中的映射正确,请提供帮助.user_id列为空值....:(
我不确定这些是否仅是实体的一部分,但为了使实体具有ID,您需要为其提供一个ID,并将相关字段注释为@Id。我也是@GeneratedValue(strategy = GenerationType.IDENTITY),所以每个表都将获得它自己的ID,而不是全局ID,否则,假设您添加了Offer,获得了带有值x的ID,然后添加了新的User,得到了带有值的ID x + 1等等...
@Entity
@Data
@NoArgsConstructor
public class Offer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "user_id", referencedColumnName = "id")
private User user;
}
@Data
@EqualsAndHashCode
@Entity
@NoArgsConstructor
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@OneToMany(mappedBy = "user",cascade = CascadeType.ALL,fetch=FetchType.LAZY)
private Set<Offer> offers = new HashSet<Offer>();
}`