我正在使用Gorm standalone和spring-boot。
我有一个使用@Entity注释的域类,它有几个子集合。
@Entity
@EqualsAndHashCode(includes="id")
class Order {
String hash
static hasMany = [lines:OrderLine]
static mapping = {
hash column: 'hash', index: 'hash_index'
inputs lazy: false
}
}
以下是其中一个子类:
@Entity
@EqualsAndHashCode(includes="id")
class OrderLine {
int lineNo
double amount
static belongsTo = [transaction: Transaction]
static constraints = {
lineNo validator: {val -> val>=0}
amount validator: {val -> val>=0.0}
}
}
在Spock测试中,创建订单后,我无法使用addToLines方法。它抱怨没有方法addToLines的签名。
如果我手动将行集合设置为ArrayList,我可以手动添加一行,以后再保留。如果我不手动初始化行集合,则尝试简单地添加失败。
因此,在GORM中,是否会创建这些集合并将addTo方法添加到类中?
我的gradle.build中的依赖项包括:
"org.springframework.boot:spring-boot-starter",
"org.grails:gorm-hibernate4-spring-boot:1.0.0.RELEASE",