У меня есть объект Topic
, который должен соответствовать объекту Questionnaire
на основе версии вопросника. Мне нужно использовать ленивую выборку.Lazy fetch для JPA @OneToOne или @ManyToOne Two Join Columns
Однако ленивый выбор не работает. При получении всех тем я вижу, что 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.
Вы получили это решение? – Nils