我正在编写我的第一个 Grails 应用程序,并使用 Grails 应用程序生成器反转了我现有的 Postgresql 模式。(GRAG)当我运行应用程序时,我收到错误:
调用 init 方法失败;嵌套异常是 org.hibernate.HibernateException:public.event_staff 中列 event_staff_id 的列类型错误。找到:串行,预期:int8
我猜这是因为“串行”不是 Postgresql 中的真实类型,而更多的是与序列相关的自动递增整数值的别名。我想有一种干净的方法可以解决这个问题,但是没有使用 Hibernate 的经验,我不确定前进的最佳方法。
这是有问题的课程:
class EventStaff {
static mapping = {
table 'event_staff'
// version is set to false, because this
// isn't available by default for legacy databases
version false
id generator:'identity', column:'event_staff_id', name: 'eventStaffId'
staffMemberIdStaffMember column:'staff_member_id'
gameIdGame column:'game_id'
}
Long eventStaffId
Boolean shouldNotify
Date created
Date modified
// Relation
StaffMember staffMemberIdStaffMember
// Relation
Game gameIdGame
static constraints = {
eventStaffId()
shouldNotify()
created()
modified()
staffMemberIdStaffMember()
gameIdGame()
}
String toString() {
return "${eventStaffId}"
}
}