在@OneToOne中使用@OneToMany是否正确?

时间:2017-05-15 20:16:21

标签: java spring hibernate

我有一个班级Portfolio,其中保留了债务人与不同银行的债务。因此,投资组合具有Debt个对象的列表,注释为@OneToMany

这是Portfolio

@Entity
public class Portfolio extends PersistentEntity {
    @OneToMany
    private List<Debt> debts;

    /* Getters and setters */
}

班级Debt

@Entity
public class Debt extends PersistentEntity {
    @OneToOne
    private Portfolio portfolio;

    /* Getters and setters */
}

我的问题是在Debt课程中使用的注释。我理解它是@OneToOne,因为债务属于特定的投资组合,但我被建议使用@ManyToOne。我从这个注释中理解的是,债务可以由不同的投资组合引用。这是对的吗?

1 个答案:

答案 0 :(得分:2)

您应该使用注释@ManyToOne。 在您的情况下,正如您所说,Portfolio有一个Debt对象列表,注释是@OneToMany。 另一方面,每个债务只能属于一个投资组合,所以你应该使用注释@ManyToOne

另请参阅以下链接: