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

时间:2011-10-11 15:36:11

标签: 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函数对此表进行逆向工程,但它所做的只是创建一个包含实体所有字段的标识符类。发生这种情况时,我无法为各个表列添加查找器。

1 个答案:

答案 0 :(得分:2)

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

可以使用简单或组合的主键。同时查看DBRE documentation,没有提及没有主键的表。

修复数据库怎么样?它是哪个DBMS?是否可以添加数字标识符,可能是自动生成的?