我受到了
的困扰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插件时出现问题。
答案 0 :(得分:0)
尝试确保已使用@Transactional
或withTransaction
正确划分了事务边界以进行写入操作。