我有一个具有ID CaseId的实体Case(不幸的是,由于与旧系统的兼容性,它是一个字符串)。此id是表Document中的外键,每个Case可以有许多文档(全名)。我在Case实体中添加了以下内容:

@Id
@Column(name = "CaseId", length = 20, nullable = false)
private String caseId;

@OneToMany(fetch=FetchType.EAGER)
@JoinColumns ( {
    @JoinColumn(name="caseId", referencedColumnName="CaseId")
} )
private Set<Document> documents;


文档表包含“ CaseId varchar(20)不为null”。现在,在数据库中,所有案例都有六个文档。但是,当我执行myCase.documents()。size时,我只会得到一个文档。我应该怎么做才能获得所有文件?

干杯

尼克

最佳答案

映射看起来正确。但是有趣的是:


Document实体(及其equals / hashCode
执行的SQL(请参阅this previous answer以激活SQL日志记录)

关于java - hibernate :在实体映射中获取一组对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3724683/

10-09 02:23