【发布时间】:2023-04-05 05:13:01
【问题描述】:
我有一个Topic 实体,根据问卷版本应该对应一个Questionnaire。我需要使用惰性获取。
但是,惰性获取不起作用。在获取所有主题时,我看到 Hibernate 还会执行单独的 SQL 查询来获取每个主题的问卷。
public class Topic {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
@Access(AccessType.PROPERTY)
private long id;
@Column(name = "questionnaire_version")
private String questionVer;
@ManyToOne(optional = true, fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "id", referencedColumnName = "topic_id",
insertable = false, updatable = false),
@JoinColumn(name = "questionnaire_version", referencedColumnName = "version",
insertable = false, updatable = false)
})
@Access(AccessType.PROPERTY)
private Questionnaire questionnaire;
在这种情况下如何让惰性获取工作?我这里需要 OneToOne,OneToOne 和 ManyToOne 都试过了。
【问题讨论】:
-
你解决了吗?