简体   繁体   English

Hibernate将许多列映射到一个表

[英]Hibernate mapping many columns to one table

How to configure mapping? 如何配置映射? I want to table "Remittance" were two columns referring to the table "Expense" 我想表“汇款”是两列,引用表“费用”

Remittance 汇款

@Entity
@Table(name = "REMITTANCE")
public class Remittance implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "REMITTANCE_ID")
    private Long id;

    @OneToMany(fetch = FetchType.EAGER, mappedBy = "remittances", cascade =    CascadeType.ALL)
    private Expense from;

    @OneToMany(fetch = FetchType.EAGER, mappedBy = "remittances", cascade = CascadeType.ALL)
    private Expense to;
}

Expense 费用

@Entity
@Table(name = "EXPENSE")
public class Expense implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "EXPENSE_ID")
    private Long id;

    @ManyToOne(optional = false)
    @JoinColumn(name = "REMITTANCE_ID")
    private Remittance remittances;
}

I made a mistake. 我犯了一个错误。 I have corrected 我已更正

Remittance 汇款

@Entity
@Table(name = "REMITTANCE")
public class Remittance implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "REMITTANCE_ID")
    private Long id;

    @ManyToOne(optional = false)
    @JoinColumn(name = "EXPENSE_ID")
    private Expense from;

    @ManyToOne(optional = false)
    @JoinColumn(name = "EXPENSE_ID")
    private Expense to;
}

Expense 费用

@Entity
@Table(name = "EXPENSE")
public class Expense implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "EXPENSE_ID")
    private Long id;
}

but now out 但现在出来

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: ru.make.alex.web.model.revenue.Remittance column: EXPENSE_ID (should be mapped with insert="false" update="false") 由以下原因引起:org.hibernate.MappingException:实体映射中的重复列:ru.make.alex.web.model.revenue.Remittance列:EXPENSE_ID(应与insert =“ false” update =“ false”映射)

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

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