繁体   English   中英

JPA oneToMany自我映射

[英]JPA oneToMany self mapping

我有一个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;

但这没用。

我有一个表Categories,其中有一个字段SMART_CODE。 SMART_CODE用于联接表内的记录,例如:

    idCategory .. ... ... .. SMART_CODE

    1          .. ... ... .. 2000034
    2          .. ... ... .. 2000034 
    .................................
    100        .. ... ... .. 2000034

我想映射我的类别实体以获取具有相同SMART_CODE(smartList)的类别列表。

谁能帮我?

谢谢

卡洛

我在下面的行中发现了一些东西

    @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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM