我有一个jpa实体映射为:
@Entity
@Table(name = "CATEGORIES")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID_CATEGORY")
private int idCategory;
@Column(name = "POSITION")
private int position;
@Column(name = "SEO_VALUE")
private String seoValue;
@Column(name = "VALUE")
private String value;
@Column(name = "DESCRIPTION")
private String description;
@Column(name = "SMART_CODE")
private String smartCode;
我需要使用SMART_CODE字段加入Category。 我尝试映射为:
@OneToMany(mappedBy="smartCategory")
private List<Category> smartList = new ArrayList<Category>();
@ManyToOne
@JoinColumn(name="SMART_CODE", referencedColumnName="SMART_CODE",insertable=false, updatable=false)
private Category smartCategory;
但它不起作用。
我有一个包含字段SMART_CODE的表类别。 SMART_CODE用于连接表中的记录,如:
idCategory .. ... ... .. SMART_CODE
1 .. ... ... .. 2000034
2 .. ... ... .. 2000034
.................................
100 .. ... ... .. 2000034
我想映射我的类别实体以获取具有相同SMART_CODE(smartList)的类别列表。
任何人都可以帮助我吗?
谢谢
卡罗
答案 0 :(得分:0)
我发现了下面一行中的内容
@ManyToOne
@JoinColumn(name="SMART_CODE", referencedColumnName="SMART_CODE",insertable=false, updatable=false)
private Category smartCategory;
而是将其更改为以下
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="SMART_CODE",nullable=true)
private Category smartCategory;