2012-06-27 79 views
1
class Author { 

    String name 

    ArrayList<Book> books = [] 

    static hasMany = [books: Book] 

    static mapping = { 
     books cascade: "all-delete-orphan" 
    } 

} 

当我尝试保存对象时发生错误。 “java.io.NotSerializableException”。有任何想法吗?我需要在课堂上实现Serializable吗?如果是这样,为什么?java.io.NotSerializableException将hasMany更改为ArrayList

+0

你好,我是一个SVNKit开发者,但我从来没有见过这样的例外。我会说,也许这是常规问题(我不是groovy专家)。作为第一步,我会建议你认识到,如果问题真的与SVNKit或Groovy有关,通过尝试在纯Java中重现问题。如果问题可以在Java中重现,请在http://issues.tmatesoft.com/issues/SVNKIT –

+0

上创建问题。刚发现问题出在Groovy上 - 要更新此问题。 –

+0

我试图在域类中添加“implements Serializable”,但没有运气。 –

回答

1

这里是解决方案:

class Author { 

    String name 

    SortedSet books 

    static hasMany = [books: Book] 

    static mapping = { 
     books cascade: "all-delete-orphan" 
    } 

} 

    class Book implements Comparable { 
     String title 

     static belongsTo = [author: Author] 

     int compareTo(obj) { 
     title.compareTo(obj.title) 
     } 

    }