Java 外键问题,显示将非集合映射为@OneToMany、@ManyToMany或@CollectionFelments错误的非法尝试
在这里,我试图将itemId作为AddOn表的外键,但非法尝试将非集合映射为@OneToMany、@ManyToMany或@collectionfements。谁能告诉我我做错了什么Java 外键问题,显示将非集合映射为@OneToMany、@ManyToMany或@CollectionFelments错误的非法尝试,java,spring,eclipse,foreign-keys,Java,Spring,Eclipse,Foreign Keys,在这里,我试图将itemId作为AddOn表的外键,但非法尝试将非集合映射为@OneToMany、@ManyToMany或@collectionfements。谁能告诉我我做错了什么 @Entity @Table(name="ITEMS") public class ItemsEntity { @Id @GeneratedValue(strategy=GenerationType.AUTO) @OneToMany(targetEntity=AddOn
@Entity
@Table(name="ITEMS")
public class ItemsEntity {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@OneToMany(targetEntity=AddOnEntity.class,mappedBy="primaryItem",cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@Column(name="ITEM_ID")
private Integer itemId;
@Column(name="ITEM_NAME")
private String itemName;
@Column(name="ITEM_PRICE")
private Double itemPrice;
public Integer getItemId() {
return itemId;
}
public void setItemId(Integer itemId) {
this.itemId = itemId;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public Double getPrice() {
return itemPrice;
}
public void setPrice(Double price) {
this.itemPrice = price;
}
}
如果我做错了,请给我正确的解决方案
我引用了项目意识:
@Entity
@Table(name="ADD_ON_ITEMS")
public class AddOnEntity {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ADD_ON_ID")
private Integer addOnId;
@Column(name="ADD_ON_NAME")
private String addOnName;
@Column(name="ADD_ON_PRICE")
private Double addOnPrice;
@ManyToOne
@JoinColumn(name="PRIMARY_ITEM")
private ItemsEntity primaryItem;
public Integer getAddOnId() {
return addOnId;
}
public void setAddOnId(Integer addOnId) {
this.addOnId = addOnId;
}
public String getAddOnName() {
return addOnName;
}
public void setAddOnName(String addOnName) {
this.addOnName = addOnName;
}
public Double getAddOnprice() {
return addOnPrice;
}
public void setAddOnprice(Double addOnprice) {
this.addOnPrice = addOnprice;
}
public ItemsEntity getPrimaryItem() {
return primaryItem;
}
public void setPrimaryItem(ItemsEntity primaryItem) {
this.primaryItem = primaryItem;
}
}
一个Items实体有多个AddOnenite:
多个附加属性属于一个属性
@Entity
@Table(name="ITEMS")
public class ItemsEntity {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ITEM_ID")
private Integer itemId;
@Column(name="ITEM_NAME")
private String itemName;
@Column(name="ITEM_PRICE")
private Double itemPrice;
@OneToMany(mappedBy="primaryItem",cascade=CascadeType.ALL)
private List<AddOnEntity> entity;
public Integer getItemId() {
return itemId;
}
public void setItemId(Integer itemId) {
this.itemId = itemId;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public Double getPrice() {
return itemPrice;
}
public void setPrice(Double price) {
this.itemPrice = price;
}
}
@Entity
@Table(name="ADD_ON_ITEMS")
public class AddOnEntity {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ADD_ON_ID")
private Integer addOnId;
@Column(name="ADD_ON_NAME")
private String addOnName;
@Column(name="ADD_ON_PRICE")
private Double addOnPrice;
@ManyToOne
@JoinColumn(name="ITEM_ID")
private ItemsEntity primaryItem;
public Integer getAddOnId() {
return addOnId;
}
public void setAddOnId(Integer addOnId) {
this.addOnId = addOnId;
}
public String getAddOnName() {
return addOnName;
}
public void setAddOnName(String addOnName) {
this.addOnName = addOnName;
}
public Double getAddOnprice() {
return addOnPrice;
}
public void setAddOnprice(Double addOnprice) {
this.addOnPrice = addOnprice;
}
public ItemsEntity getPrimaryItem() {
return primaryItem;
}
public void setPrimaryItem(ItemsEntity primaryItem) {
this.primaryItem = primaryItem;
}
}