java - 如何创建没有标识符字段(主键)的 Spring Roo 实体

标签 java spring spring-roo

我正在尝试为旧数据库表创建一个 Spring Roo 实体。该表没有定义主键。

但是,Roo 不会让我定义没有 identifierField 的实体:

@RooEntity(identifierColumn = "", identifierField = "", table = "XYZ", versionField = "")

这会导致 Roo 集成测试失败:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'id' in 'field list'

因为它在 Roo_Entity.aj 中创建了 @Id@Column(name = "id") 字段。

我尝试使用 Roo 的 DBRE 函数对该表进行逆向工程,但它所做的只是创建一个包含实体所有字段的标识符类。发生这种情况时,我无法为各个表列添加查找器。

最佳答案

据我所知,Roo 需要一个主键,并强烈建议使用版本标识符。

可以使用简单主键或组合主键。另请参阅DBRE documentation ,没有提到没有主键的表。

修复数据库怎么样?它是哪个数据库管理系统?添加可能自动生成的数字标识符是否可行?

关于java - 如何创建没有标识符字段(主键)的 Spring Roo 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728666/

相关文章:

java - 将字符串转换为 java.util.date

java - 为 Restful 资源设计 DELETE 的最佳方法是什么

eclipse - 有没有办法在不使用 jvm 代理的情况下使用 Spring AspectJ LTW 运行 JUnit 4 测试?

java - Spring 测试 : Rollback the database after testing the dao

java - multipart和@RequestBody在spring可以一起用吗?

java - Random.nextInt(int) [稍微] 有偏差

java - 如何重新设计 EAV 表

java - 集成测试 DAO INSERT 语句

java - DispatcherServlet - Roo 项目中的上下文初始化失败

maven - tomcat上无法部署SpringRoo项目