2016-02-26 3 views
0

У меня есть существующий проект Spring MVC + Spring Security + Thymeleaf. Мое намерение - добавить к нему функциональные возможности Spring Lemon.Как сделать работу @ManyToOne с Spring Lemon?

Я следовал за Spring Lemon Getting Started guide и построил проект с лимонным питанием. Он работает успешно.

Теперь я пытаюсь скопировать объекты в проект Lemon.

Все идет хорошо, пока я не изменю свои объекты, чтобы расширить VersionedEntity, как сказано в документации. Тогда я получаю эту ошибку:

[Error] http://i.stack.imgur.com/snz86.png

Похож VersionedEntity несовместимо с моим ManyToOne отношениями. И когда я удаляю эти отношения, проблема исчезает.

Как получить таблицы, созданные с помощью этих аннотаций JPA?

ответ

0

Даже расширение AbstractAuditable не решило его. С помощью Sanjay я понял, что при расширении VersionedEntity или LemonEntity вам больше не нужно поле идентификатора в классе сущностей. Затем я удалил его, и он сработал.

0

VersionedEntity - легкий класс для поддержки версий, который расширяет LemonEntity, что, в свою очередь, расширяет весовые данные JPA AbstractAuditable. Поэтому, чтобы указать, где может быть проблема, я думаю, вы могли бы попробовать расширить свои классы прямо с LemonEntity или AbstractAuditable, а затем посмотреть, остается ли проблема.

Давайте посмотрим, что вы найдете. Если проблема возникает, даже если ваши объекты расширяются AbstractAuditable, возможно, AbstractAuditable несовместим с @ManyToOne (при условии, что ваш код в порядке). В этом случае я думаю, что повышение его с помощью реестров Spring Data JPA (либо добавьте тег spring-data-jpa к этому вопросу, либо создайте отдельный вопрос с этим тегом) поможет.

Смежные вопросы