2016-02-26 1 views
0

J'ai déjà un projet Spring MVC + Spring Security + Thymeleaf. Mon intention est d'y ajouter des fonctionnalités Spring Lemon.Comment faire fonctionner @ManyToOne avec Spring Lemon?

J'ai suivi Spring Lemon Getting Started guide, et construit un projet alimenté par Lemon. Il fonctionne avec succès. Maintenant j'essaye de copier mes entités dans le projet de citron. Les choses vont bien jusqu'à ce que je modifie mes entités pour étendre VersionedEntity, comme indiqué dans la documentation. Puis-je obtenir cette erreur:

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

Ressemble VersionedEntity est incompatible avec mes relations ManyToOne. Et quand je supprime ces relations, le problème disparaît.

Comment obtenir les tables générées avec ces annotations JPA?

Répondre

0

Même l'extension AbstractAuditable n'a pas résolu le problème. Avec l'aide de Sanjay, j'ai compris que lorsque vous étendez VersionedEntity ou LemonEntity, vous n'avez plus besoin du champ Id dans votre classe d'entité. Ensuite, je l'ai supprimé, et cela a fonctionné.

0

VersionedEntity est une classe légère pour prendre en charge la gestion des versions, qui étend LemonEntity, ce qui étend à son tour AbstractAuditable JPA Spring Data. Donc, pour savoir où le problème pourrait être, je pense que vous pourriez essayer d'étendre vos classes directement à partir de LemonEntity ou AbstractAuditable, puis voir si le problème persiste.

Voyons ce que vous trouvez. Si le problème survient même si vos entités s'étendent AbstractAuditable, peut-être AbstractAuditable n'est pas compatible avec @ManyToOne (en supposant que votre code est correct). Dans ce cas, je pense que l'élever avec les gars Spring Data JPA (soit ajouter spring-data-jpa tag à cette question ou créer une question distincte avec cette balise) aidera.