1 package org
.codehaus
.groovy
.grails
.orm
.hibernate
;
3 import org
.codehaus
.groovy
.grails
.commons
.*
4 import org
.codehaus
.groovy
.grails
.commons
.test
.*
6 class ComponentMappingTests
extends AbstractGrailsHibernateTests
{
8 void testComponentMapping() {
9 def personClass
= ga
.getDomainClass("ComponentMappingPerson")
10 def addressClass
= ga
.classLoader
.loadClass("ComponentMappingAddress")
12 def p
= personClass
.newInstance()
14 p
.name
= "Homer Simpson"
15 def a1
= addressClass
.newInstance()
16 a1
.number
= "22"; a1
.postCode
= "3345243" ; a1
.person
= p
17 def a2
= addressClass
.newInstance()
18 a2
.number
= "454"; a2
.postCode
= "340854" ; a2
.person
= p
28 p
= personClass
.clazz
.get(1)
34 assertEquals
"22", p
.homeAddress
.number
35 assertEquals
"3345243", p
.homeAddress
.postCode
36 assertEquals
"454", p
.workAddress
.number
37 assertEquals
"340854", p
.workAddress
.postCode
39 assertEquals
"Homer Simpson", p
.workAddress
.person
.name
45 this.gcl
.parseClass('''
46 class ComponentMappingPerson {
50 ComponentMappingAddress homeAddress
51 ComponentMappingAddress workAddress
53 static embedded = ['homeAddress
', 'workAddress
']
55 class ComponentMappingAddress {
56 ComponentMappingPerson person
60 class ComponentMappingStoreItem {
66 ComponentMappingPrice price
67 static embedded = ['price
']
70 class ComponentMappingPrice {