Grails,遗留数据库无法获得正确的ID类型

时间:2017-03-18 19:06:47

标签: grails gorm legacy-database

使用旧版数据库中的表存在很多问题。 一个是名为“RoleType”的表,其名称为“RoleType”

以下是域类的重要片段:

class RoleType {
    int roleType
....
    static mapping = {
        table 'RoleType'
        version false
        id column: 'roleType', type:'int', generator:'assigned'
        roleType column: 'RoleType'

错误-列表:

    Caused by: org.hibernate.PropertySetterAccessException:
 IllegalArgumentException occurred while calling setter for property
 [com.torntrading.legacy.RoleType.id (expected type = java.lang.Long)];
     target = [com.torntrading.legacy.RoleType : (unsaved)], property value = [1] 
setter of com.torntrading.legacy.RoleType.id

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您指定了id的列,但没有指定域中的哪个属性代表它。

id name: 'roletype', type:'int', generator:'assigned' roleType column: 'RoleType'

应该这样做