jnr*_*jnr 6 java hibernate jpa one-to-many
OneToMany + MapKeyJoinColumn对我不起作用,请说明我做错了什么.
我正在使用JPA 2.0 + Hibernate 3.6.1并希望映射以下表:

到课程:
@Entity
public class Question {
// id and other fields
@OneToMany(mappedBy="question", cascade = CascadeType.ALL)
@MapKeyJoinColumn(name="language_id")
private Map<Language, Statement> statements =
new HashMap<Language, Statement>();
}
@Entity
public class Statement {
@Id
private Long id;
@ManyToOne
@JoinColumn(name = "language_id", nullable = true)
private Language language;
@ManyToOne
@JoinColumn(name = "question_id", nullable = false)
private Question question;
@Column(name = "message")
private String message;
}
@Entity
public class Language {
@Id
private Long id;
@Column(name = "name")
private String name;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.EntityManager正确地保留它,但是当我检索Question时,在它的语句映射中只有一个语言到空的条目.请帮忙
Edit1:奇怪,但是当我预加载所有语言时,如下所示:
String sql = "select l from Language l";
List languages = entityManager.createQuery(sql, Language.class).getResultList();
Run Code Online (Sandbox Code Playgroud)
然后它的作品!
有谁知道如何让hibernate自动加载某些类的所有对象?
| 归档时间: |
|
| 查看次数: |
6503 次 |
| 最近记录: |