GORM TransientObjectException

时间:2014-06-04 21:11:17

标签: hibernate grails gorm

我受到了

的困扰
org.hibernate.TransientObjectException

使用Grails 2.3.9和Grails Hibernate 3 Plugin 3.6.10.15

以下是具体问题:

我有一个名为Pencil的域类和一个具有多对多关系的域类Backpack:

 Pencil{
    PencilType type
    Location location
    Date creationDate
    String description
    int position
    boolean active

    static hasMany = [backpacks: BackPack]
    static belongTo = [backpacks: BackPack]

    static constraints = { .... all nullable ..... }
 }

 BackPack{
    Color color
    int size

    static hasMany = [pencils: Pencil]
    static belongsTo = [pencils: Pencil]

    static constraints = { .... all nullable ..... }
  }

如果我创建并保存了一支铅笔,我无法保存而无法获得:

org.hibernate.TransientObject Exception
Message: object references an unsaved transient instance - save the transient instance before flushing: Pencil

即使在创建空白铅笔对象时也会发生这种情况。

 new Pencil().save()

- UPDATE-- **使用Hibernate3和Hibernate4 Grails插件时出现问题。

1 个答案:

答案 0 :(得分:0)

尝试确保已使用@TransactionalwithTransaction正确划分了事务边界以进行写入操作。