我有一个现有的Spring MVC + Spring Security + Thymeleaf项目。我的目的是为它添加Spring Lemon功能。
我跟着Spring Lemon Getting Started guide,建立了一个柠檬驱动的项目。它运行成功。
现在我正在尝试将我的实体复制到Lemon项目中。
在我修改我的实体以扩展VersionedEntity之前,事情进展顺利,如文档中所述。 然后我收到了这个错误:
![错误] http://i.stack.imgur.com/snz86.png
看起来VersionedEntity与我的ManyToOne关系不兼容。当我删除这些关系时,问题就会消失。
如何获取使用这些JPA注释生成的表?
答案 0 :(得分:0)
VersionedEntity
是一个支持版本控制的轻量级类,它扩展了LemonEntity
,后者又扩展了Spring Data JPA' AbstractAuditable
。因此,为了确定可能出现问题的地方,我认为您可以尝试直接从LemonEntity
或AbstractAuditable
扩展课程,然后查看问题是否仍然存在。
让我们看看你找到了什么。如果您的实体延伸AbstractAuditable
,问题就出现了,可能AbstractAuditable
与@ManyToOne
不兼容(假设您的代码正常)。在这种情况下,我认为使用Spring Data JPA提升它(将spring-data-jpa
标记添加到此问题或使用该标记创建单独的问题)将有所帮助。
答案 1 :(得分:0)
即使扩展AbstractAuditable也没有解决它。在Sanjay的帮助下,我了解到当您扩展VersionedEntity或LemonEntity时,您不再需要实体类中的Id字段。然后我删除了它,它运作了。