我正在尝试为遗留数据库表创建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函数对此表进行逆向工程,但它所做的只是创建一个包含实体所有字段的标识符类。发生这种情况时,我无法为各个表列添加查找器。
答案 0 :(得分:2)
据我所知,Roo需要主键并强烈建议使用版本标识符。
可以使用简单或组合的主键。同时查看DBRE documentation,没有提及没有主键的表。
修复数据库怎么样?它是哪个DBMS?是否可以添加数字标识符,可能是自动生成的?