Grails 2 TransientPropertyValueException。。。突然

Grails 2 TransientPropertyValueException。。。突然,grails,grails-2.0,Grails,Grails 2.0,在过去的一周里,我一直在这件事上碰头。。。。我来了。 我正在开发一个Grails2Web应用程序,我实现了一个导入服务,以便根据来自合作伙伴系统的XML文件(每天更新其XML文件)将数据(每个季度的办公时间)导入应用程序数据库 完成后,在过去的几天里,一切都运转良好(导入数千个办公时间数据),直到最近,在特定的办公时间数据触发了TransientPropertyValueException 错误显示如下: Not-null property references a transient valu

在过去的一周里,我一直在这件事上碰头。。。。我来了。 我正在开发一个Grails2Web应用程序,我实现了一个导入服务,以便根据来自合作伙伴系统的XML文件(每天更新其XML文件)将数据(每个季度的办公时间)导入应用程序数据库

完成后,在过去的几天里,一切都运转良好(导入数千个办公时间数据),直到最近,在特定的办公时间数据触发了TransientPropertyValueException

错误显示如下:

Not-null property references a transient value - transient instance must be saved before current operation : app.offices.OpeningHours.season -> app.offices.OpeningHoursSeason. Stacktrace follows:
org.hibernate.TransientPropertyValueException: Not-null property references a transient value - transient instance must be saved before current operation : app.offices.OpeningHours.season -> app.offices.OpeningHoursSeason
并引用这行代码:

openingHours.save(flush: true)
我可能错了,但我对它的理解是,hibernate似乎抱怨我的OpeningHours实例(引用/属于OpeningHoursSeason实例)无法持久化,因为父OpeningHoursSeason实例之前没有持久化/保存(尽管它保存在上面几行)。 我肯定有点不对劲

OpeningHoursSeason域类基本代码如下所示(请注意,域类属性都不是“瞬态的”):

OpeningHours域类基本代码如下所示(此处也没有设置为“transient”的属性):

我仍然不知道我的实现中有什么错误。。。有线索吗? :)

class OpeningHoursSeason {
String name
Integer startDateDay
Integer startDateMonth
Integer endDateDay
Integer endDateMonth
Set openingHours = []

static belongsTo = [office: Office]
static hasMany = [openingHours: OpeningHours]

static mapping = {
    openingHours sort: "weekDayBegin", cascade: 'all-delete-orphan'
}

static constraints = {
    name nullable: true
    openingHours nullable: true
...
class OpeningHours {
Integer weekDayBegin
Integer weekDayEnd
Integer openHourFirstPeriod
Integer openMinuteFirstPeriod
Integer closeHourFirstPeriod
Integer closeMinuteFirstPeriod
Integer openHourSecondPeriod = null
Integer openMinuteSecondPeriod = null
Integer closeHourSecondPeriod = null
Integer closeMinuteSecondPeriod = null

static belongsTo = [season: OpeningHoursSeason]
static hasMany = [functions: OfficeFunction]