2014-12-01 95 views
0

我正在將2.3應用程序升級到2.4.4,並且我有幾個域使用類似於以下內容的列表字段,並且我收到如here所述的錯誤。Grails中的域列表字段2.4.4

class Game { 
    List score 

    static hasMany = [ score: Integer ] 
} 

我假設使用的是上述問題的真正原因,而是因爲錯誤消息不指向域我不能肯定。

這種類型的列表定義不是很好的grails實踐嗎?

我得到的錯誤:

2014-10-31 16:26:32 ERROR [context.GrailsContextLoaderListener] Error initializing the pplication: Error creating bean with name 'transactionManagerPostProcessor': 
.... 
Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Association references unmapped class: java.util.List 

UPDATE

我找到的域,並與錯誤相關的問題。這是問題域和關聯的列表。如果我刪除列表,則問題得到糾正。

class Team { 
    List teamTourney 

    static hasMany = [ teamTourney: TeamTourney ] 
} 
+0

「我假設使用上述是問題的實際原因,但我無法確定,因爲錯誤消息不指向域。」 - 如果錯誤信息沒有指向那個,爲什麼你認爲問題與域有關? – 2014-12-01 22:17:13

回答

1

Is this type of list definition not good grails practice?

你展示應該就有天晴的代碼。請參閱https://github.com/jeffbrown/integerlist的項目。

+0

錯誤狀態「Association references unmapped class:java.util.List」,但沒有指定導致問題的域(該項目中的23)。當我找到問題時會報告回來。謝謝。 – SeattleStephens 2014-12-02 00:44:06

+0

如果你有一個持久化的非類型化集合,但是你在代碼中顯示的不是他的情況,我會期待這個消息。 'hasMany'表示在'score'集合中存儲了什麼類型的對象。如果你註釋掉'hasMany',那麼就會出現這個錯誤。我會尋找一個在你的'hasMany'中沒有表示的集合。 – 2014-12-02 02:20:42

+0

我找到了問題域並更新了上面的問題。我有一個域之間的一對多關係,我將它定義爲一個列表。如果我刪除列表,它會糾正問題。 – SeattleStephens 2014-12-02 17:23:27

0

問題是引用未定義字段的列表。我的項目中的域名中有一個與列表關聯的字段名稱中的o型。如果錯誤信息指向錯誤的位置,這也是很好的,也是一個點,即in this post

謝謝,斯科特。

2

對於未來可能收到此錯誤任何人都可以加入

log4j = { 
    debug 'org.codehaus.groovy.grails.orm.hibernate.cfg' 
} 

的配置,它會告訴你哪些類和屬性引起的問題。

相關問題