GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / groovy / org / codehaus / groovy / grails / orm / hibernate / OneToManyWithInheritanceTests.groovy
blobe71ba8b88b3d7b762107496c61c16d84197dbc71
1 /**
2 * @author Graeme Rocher
3 * @since 1.0
4 *
5 * Created: Sep 21, 2007
6 */
7 package org.codehaus.groovy.grails.orm.hibernate
9 import org.springframework.util.Log4jConfigurer
11 class OneToManyWithInheritanceTests extends AbstractGrailsHibernateTests {
13 protected void onSetUp() {
14 gcl.parseClass('''
15 class OwnerObject {
16 Long id
17 Long version
18 String name
20 Set class1
21 Set class2
22 static hasMany = [class1: SubClass1, class2: SubClass2]
24 class SubClass1 extends BaseClass {
25 Long id
26 Long version
27 String name
29 String toString() {
30 return "SubClass1 - $name"
33 class SubClass2 extends BaseClass {
34 Long id
35 Long version
36 String otherField
38 String toString() {
39 return "SubClass2 - $otherField"
42 class BaseClass {
43 Long id
44 Long version
45 OwnerObject owner
46 Date created = new Date()
48 static belongsTo = OwnerObject
50 ''')
54 void testPersistentAndLoad() {
55 def ownerClass = ga.getDomainClass("OwnerObject")
56 def owner = ownerClass.newInstance()
57 owner.name = "The Owner"
59 def s1 = ga.getDomainClass("SubClass1").newInstance()
60 s1.name = "An Object"
61 s1.owner = owner
63 def s2 = ga.getDomainClass("SubClass2").newInstance()
64 s2.otherField = "The Field"
65 s2.owner = owner
67 owner.addToClass1(s1)
68 owner.addToClass2(s2)
69 owner.save()
71 session.flush()
72 session.clear()
74 owner = ownerClass.clazz.get(1)
76 s1 = owner.class1.iterator().next()
77 s2 = owner.class2.iterator().next()
79 assert s1
80 assert s2
82 assertEquals "An Object", s1.name
83 assertEquals "The Field", s2.otherField