org.springframework.expression.spel.SpelEvaluationException: EL1008E: Свойство или поле 'locationName' не может быть найдено для объекта типа 'java.lang.Integer' - возможно, не является общедоступным или недействительным?
Ошибка не имеет ничего общего с использованием int-array
проекта hibernate-types .
Сообщение об ошибке относится к языку выражений Spring, который вы использовали дляустановка locationName
, являющегося свойством String
.
[[${office.locations[0].locationName}]]
Свойство locations
является Integer[]
, но вы рассматривали его как массив Location
.
То, что вы хотите, это @OneToMany
List<Location>
вместо:
@OneToMany(mappedBy="office", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Location> locations = new ArrayList<>();
и @ManyToOne
ассоциация в Location
:
@ManyToOne(fetch = FetchType.LAZY)
private Office office;
Проверьте эту статью для более подробной информации о наилучшем способе использования @OneToMany
ассоциации.