定义嵌入在域中的对象列表的Grails会导致GrailsDataBinder问题

时间:2014-02-26 17:17:01

标签: mongodb grails gorm

我正在使用Grails 2.2.1和Mongo gorm。

我有一些域具有其他域对象的嵌入式集合的关系,例如:

class User {
    String firstName
    String lastName
    List<UserProfile> userProfiles

    static embedded = [
        'userProfiles'
    ]
    ...

每当我坚持这样的对象时,我会在日志中收到一条消息:

  

ERROR binding.GrailsDataBinder      - 无法自动创建类型接口java.util.List,在构造函数中抛出类java.lang.InstantiationException

即使我收到此消息,它仍然有效,并且按预期嵌入了这些UserProfile对象的List。我看到某处grails尝试为某些原因实例化嵌入对象的接口。

我见过人们这样做:

List<UserProfile> userProfiles = []

但是你显然失去了使用可以为空的约束的能力。我肯定会宣布:

ArrayList<UserProfile> userProfiles

可能会奏效,但我不会那样做。有没有办法将这样的关系声明为嵌入而不会出现此错误?

0 个答案:

没有答案