1
package org.hibernate.test.keymanytoone.bidir.component;
3
import junit.framework.Test;
5
import org.hibernate.test.TestCase;
6
import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
7
import org.hibernate.cfg.Configuration;
8
import org.hibernate.cfg.Environment;
9
import org.hibernate.Session;
12
* @author Steve Ebersole
14
public class LazyKeyManyToOneTest extends TestCase {
15
public LazyKeyManyToOneTest(String name) {
19
protected String[] getMappings() {
20
return new String[] { "keymanytoone/bidir/component/LazyMapping.hbm.xml" };
23
public static Test suite() {
24
return new FunctionalTestClassTestSuite( LazyKeyManyToOneTest.class );
27
protected void configure(Configuration cfg) {
28
super.configure( cfg );
29
cfg.setProperty( Environment.GENERATE_STATISTICS, "true" );
32
public void testSaveCascadedToKeyManyToOne() {
33
// test cascading a save to an association with a key-many-to-one which refers to a
35
Session s = openSession();
37
Customer cust = new Customer( "Acme, Inc." );
38
Order order = new Order( new Order.Id( cust, 1 ) );
39
cust.getOrders().add( order );
42
assertEquals( 2, sfi().getStatistics().getEntityInsertCount() );
44
s.getTransaction().commit();
48
public void testLoadingStrategies() {
49
Session s = openSession();
51
Customer cust = new Customer( "Acme, Inc." );
52
Order order = new Order( new Order.Id( cust, 1 ) );
53
cust.getOrders().add( order );
55
s.getTransaction().commit();
61
cust = ( Customer ) s.get( Customer.class, cust.getId() );
62
assertEquals( 1, cust.getOrders().size() );
65
cust = ( Customer ) s.createQuery( "from Customer" ).uniqueResult();
66
assertEquals( 1, cust.getOrders().size() );
69
cust = ( Customer ) s.createQuery( "from Customer c join fetch c.orders" ).uniqueResult();
70
assertEquals( 1, cust.getOrders().size() );
74
s.getTransaction().commit();