Grails,遗留数据库无法获得正确类型的 ID
Grails, legacy database fails to get correct type of ID
使用来自遗留数据库的 tables 存在很多问题。
一个是名称为 "RoleType" 的 table,它的 ID 名为 "RoleType"
这里是域的重要片段class:
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
我该怎么做才能解决这个问题?
您指定的是 ID 的列,而不是域中 属性 代表它的列。
id name: 'roletype', type:'int', generator:'assigned'
roleType column: 'RoleType'
应该做
使用来自遗留数据库的 tables 存在很多问题。 一个是名称为 "RoleType" 的 table,它的 ID 名为 "RoleType"
这里是域的重要片段class:
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
我该怎么做才能解决这个问题?
您指定的是 ID 的列,而不是域中 属性 代表它的列。
id name: 'roletype', type:'int', generator:'assigned'
roleType column: 'RoleType'
应该做