0

我正在将 2.3 应用程序升级到 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 ]
}
4

3 回答 3

2

对于将来可能会收到此错误的任何人,您可以添加

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

到配置,它会告诉你什么类和属性导致了问题。

于 2015-06-26T22:46:11.573 回答
1

这种类型的列表定义不是 Grails 的好习惯吗?

您在那里显示的代码应该没问题。请参阅https://github.com/jeffbrown/integerlist上的项目。

于 2014-12-01T21:59:37.293 回答
0

问题是一个引用未定义字段的列表。在我的项目中的域中有一个与列表关联的字段名称中的类型-o。如果错误消息指向错误的位置,那就太好了,这篇文章中也有一个点。

谢谢,斯科特。

于 2014-12-02T21:39:43.213 回答