У меня есть следующие аннотации к переменной:
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "question_translation",
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_question_translation_question"),
joinColumns = @JoinColumn(name = "question_id"))
@MapKeyColumn(name = "language", nullable = false)
@MapKeyEnumerated(EnumType.STRING)
@Column(name = "translation", nullable = false)
private Map<Language, String> translations;
Когда я делаю translations.get(Language.EN)
вне @Transactional
, я получаю: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
Версии:
spring boot: <version>2.0.3.RELEASE</version>
<hibernate.version>5.2.17.Final</hibernate.version>
<hibernate-jpa-2.1-api.version>1.0.2.Final</hibernate-jpa-2.1-api.version>
Чего мне не хватает?
Редактировать:
После поиска немного дальше, я думаю, что проблема в том, что я использую данные Spring и их репозитории... Кажется, они игнорируют тип извлечения ...