我正在編寫我的第一個Grails應用程序,並使用Grails應用程序生成器將我現有的Postgresql模式顛倒過來。 (GRAG)當我運行應用程序,我得到的錯誤:錯誤的列類型 - 找到:序列,預期:int8
Invocation of init method failed; nested exception is org.hibernate.HibernateException: Wrong column type in public.event_staff for column event_staff_id. Found: serial, expected: 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}"
}
}
謝謝。最後,我需要將我的類成員eventStaffId從Long改爲Integer。更改爲Integer的 – 2012-07-28 13:31:09
也適用於我。謝謝! – npellow 2012-10-23 18:41:53