Hibernate将许多列映射到一个表

时间:2015-07-03 09:52:12

标签: java hibernate

如何配置映射?我想表"汇款"有两列参考表格#34;费用"

汇款

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

费用

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

1 个答案:

答案 0 :(得分:0)

我犯了一个错误。我已经纠正了

汇款

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

费用

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

但现在

引起:org.hibernate.MappingException:实体映射中的重复列:ru.make.alex.web.model.revenue.Remittance列:EXPENSE_ID(应使用insert =" false"更新="假&#34)