[products_products_id]))必须与引用的主键具有相同的列数(产品[categories_id,products_products_id])

时间:2016-10-11 20:19:09

标签: spring hibernate

我有与hibernate查询相关的错误

外键(FK_jipqfc4qahmxslbxjbln9cxpm:products [products_products_id]))必须与引用的主键具有相同的列数(产品[categories_id,products_products_id])

我不明白为什么我会尝试很多时间,但直到现在问题仍无法解决 这是我对pojo

类别的oneToMany关系
@Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column
    private int categories_id;
    @Column
    private String categories_image;
    @Column
    private int sort_order;
    @Column
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date date_added;
    @Column
    private Date last_modified;



    @Column
    private String categories_name;

    public String getCategories_name() {
        return categories_name;
    }

    public void setCategories_name(String categories_name) {
        this.categories_name = categories_name;
    }

    @OneToOne(cascade = CascadeType.ALL, fetch= FetchType.LAZY)
    @JoinTable(name="categories_description",joinColumns={
            @JoinColumn(name = "categories_id",referencedColumnName="categories_id")})
    private categories_description categories_description;

    @OneToMany(cascade = CascadeType.ALL, fetch= FetchType.LAZY)
    @JoinTable(name="products_to_categories",joinColumns={
            @JoinColumn(name = "categories_id", referencedColumnName="categories_id")})
    private Set<products_to_categories> products_to_categories;

    @OneToMany(cascade = CascadeType.ALL, fetch= FetchType.LAZY)
    @JoinTable(name="products",joinColumns={
            @JoinColumn(name = "categories_id",referencedColumnName="categories_id")})
    private Set<products> products;

这是我的产品pojo

@Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column
    private int products_id;
    @Column
    private int Category_id;
    @Column
    private int products_quantity;
    @Column
    private String products_model;
    @Column
    private String products_image;
    @Column
    private float products_price;
    @Column
    private Date products_date_added;
    @Column
    private Date products_last_modified;
    @Column
    private Date products_date_available;
    @Column
    private float products_weight;
    @Column
    private String products_status;
    @Column
    private int products_tax_class_id;
    @Column
    private int manufacturers_id;
    @Column
    private String products_type;


    @OneToOne
    @JoinColumn(name="products_id")
    private products_description products_description;


     @OneToOne
     @JoinColumn(name="products_id")
     private products_to_categories products_to_categories;

我想将categories_id作为foregin键,并且还需要product products表中的主键 但是,虽然我已经得到了这个错误。

请帮助我真的很感激。

0 个答案:

没有答案