如何让@ManyToOne与Spring Lemon合作?

时间:2016-02-26 02:20:53

标签: spring-lemon

我有一个现有的Spring MVC + Spring Security + Thymeleaf项目。我的目的是为它添加Spring Lemon功能。

我跟着Spring Lemon Getting Started guide,建立了一个柠檬驱动的项目。它运行成功。

现在我正在尝试将我的实体复制到Lemon项目中。

在我修改我的实体以扩展VersionedEntity之前,事情进展顺利,如文档中所述。 然后我收到了这个错误:

![错误] http://i.stack.imgur.com/snz86.png

看起来VersionedEntity与我的ManyToOne关系不兼容。当我删除这些关系时,问题就会消失。

如何获取使用这些JPA注释生成的表?

2 个答案:

答案 0 :(得分:0)

VersionedEntity是一个支持版本控制的轻量级类,它扩展了LemonEntity,后者又扩展了Spring Data JPA' AbstractAuditable。因此,为了确定可能出现问题的地方,我认为您可以尝试直接从LemonEntityAbstractAuditable扩展课程,然后查看问题是否仍然存在。

让我们看看你找到了什么。如果您的实体延伸AbstractAuditable,问题就出现了,可能AbstractAuditable@ManyToOne不兼容(假设您的代码正常)。在这种情况下,我认为使用Spring Data JPA提升它(将spring-data-jpa标记添加到此问题或使用该标记创建单独的问题)将有所帮助。

答案 1 :(得分:0)

即使扩展AbstractAuditable也没有解决它。在Sanjay的帮助下,我了解到当您扩展VersionedEntity或LemonEntity时,您不再需要实体类中的Id字段。然后我删除了它,它运作了。