主键必须映射到两个表;在第一张桌子上,我得到了多对一,第二张是一对一;我怎么做?我给你我的课
package salepoint.model;
/*i've deleted imports*/
@Entity
@Table (name = "sales")
@SecondaryTables({
@SecondaryTable(name = "sold_products", pkJoinColumns = {
@PrimaryKeyJoinColumn(name = "sales_id")})})
public class Sale implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@ManyToOne
@JoinTable(name = "user_sales", joinColumns = @JoinColumn(name = "sale_id"))
private Integer id;
@Column (name = "amount")
private Double amount;
@Column (name = "date")
private Date date;
@Column (name = "user_id")
private Integer user_id;
public Sale() {
}
public Sale(Double amount, Date date, Integer user_id) {
this.amount = amount;
this.date = date;
this.user_id = user_id;
}
public Sale(Integer id, Double amount, Date date, Integer user_id) {
this.id = id;
this.amount = amount;
this.date = date;
this.user_id = user_id;
}
@Override
public String toString() {
return "Sale{"
+ "id = " + id
+", amount = " + amount
+ ", date = " + date
+ ", user_id = " + user_id + '}';
}
/*i've deleted getters and setters, stack overflow didn't want me to put it*/
}
希望你能帮助我,伙计们;我很绝望
答案 0 :(得分:1)
请纠正我,我错了,
您正在尝试映射用户及其销售表。那你为什么需要在sales表中创建多对一映射,它应该在用户pojo中用
创建list<sale> sales;
上面的属性应该用多对一注释。并在销售pojo,
User user;
用一对多注释即可。
你看起来像这样吗?