有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate将多个列映射到一个表

如何配置映射?我想表“汇款”是指表“费用”的两列

汇款

@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) 个答案

  1. # 1 楼答案

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

    汇款

    @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。冬眠MappingException:实体ru的映射中重复列。制作亚历克斯。网状物模型收入汇款列:费用\u ID(应使用insert=“false”update=“false”进行映射)