The included Testcase is switchable between XML Mapping and Annotations. With XML it works, with Annotations it fails.
The latter tries to set the FK to null which is not allowed.
What's wrong with it?
Thanks.
Hibernate version:
3.1.1/3.1.2 with Annotations 3.1 beta 8
Mapping documents:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-access="field">
<class name="SingleClassTestCase$Parent" table="PARENT">
<id name="id">
<generator class="native"/>
</id>
<version name="version"/>
<bag inverse="true" cascade="all, delete-orphan" name="children">
<key column="parent_id"/>
<one-to-many class="SingleClassTestCase$Child"/>
</bag>
<property name="name" not-null="true"/>
</class>
<class name="SingleClassTestCase$Child" table="CHILD">
<id name="id">
<generator class="native"/>
</id>
<version name="version"/>
<property name="name" not-null="true"/>
<many-to-one column="parent_id" not-null="true" name="parent"/>
</class>
</hibernate-mapping>
Complete JUnit TestCase:Code:
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Version;
import junit.framework.TestCase;
import org.hibernate.SessionFactory;
import org.hibernate.annotations.Cascade;
import org.hibernate.cfg.AnnotationConfiguration;
/**
* SingleClassTestCase
*/
public class SingleClassTestCase extends TestCase
{
private static final boolean useAnnotations = true;
private SessionFactory factory;
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
@Override
protected void setUp() throws Exception
{
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
cfg.setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver");
cfg.setProperty("hibernate.connection.url", "jdbc:hsqldb:hsql://localhost");
cfg.setProperty("hibernate.connection.username", "sa");
cfg.setProperty("hibernate.connection.password", "");
cfg.setProperty("hibernate.cache.use_second_level_cache", "false");
cfg.setProperty("hibernate.current_session_context_class", "thread");
cfg.setProperty("hibernate.transaction.flush_before_completion", "true");
cfg.setProperty("hibernate.transaction.auto_close_session", "true");
cfg.setProperty("hibernate.use_sql_comments", "true");
cfg.setProperty("hibernate.show_sql", "true");
cfg.setProperty("hibernate.hbm2ddl.auto", "create");
if (useAnnotations)
{
cfg.addAnnotatedClass(Person.class);
cfg.addAnnotatedClass(Parent.class);
cfg.addAnnotatedClass(Child.class);
}
else
{
cfg.addFile("SingleClassTestCase.hbm.xml");
}
factory = cfg.buildSessionFactory();
}
/**
* testDeleteOrphan
*/
public void testDeleteOrphan()
{
Parent homer = new Parent();
homer.name = "Homer";
Child bart = new Child();
bart.name = "Bart";
bart.parent = homer;
homer.children.add(bart);
Child lisa = new Child();
lisa.name = "Lisa";
lisa.parent = homer;
homer.children.add(lisa);
Child maggie = new Child();
maggie.name = "Maggie";
maggie.parent = homer;
homer.children.add(maggie);
// save parent
factory.getCurrentSession().getTransaction().begin();
factory.getCurrentSession().saveOrUpdate(homer);
factory.getCurrentSession().getTransaction().commit();
// remove child
factory.getCurrentSession().getTransaction().begin();
homer.children.remove(maggie);
factory.getCurrentSession().saveOrUpdate(homer);
factory.getCurrentSession().getTransaction().commit();
}
/**
* Person
*/
@MappedSuperclass
private static abstract class Person implements Serializable
{
@Id
@GeneratedValue
Integer id;
@Version
@Column(nullable = false)
Integer version;
@Column(nullable = false)
String name;
}
/**
* Parent
*/
@Entity
@Table(name = "PARENT")
private static class Parent extends Person
{
@OneToMany(cascade = CascadeType.ALL)
@Cascade(value = {org.hibernate.annotations.CascadeType.ALL, org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
@JoinColumn(name = Child.FK_PARENT)
Collection<Child> children = new ArrayList<Child>();
}
/**
* Child
*/
@Entity
@Table(name = "CHILD")
private static class Child extends Person
{
static final String FK_PARENT = "parent_id";
@ManyToOne(optional = false)
@JoinColumn(name = FK_PARENT, nullable = false)
Parent parent;
}
}
Full stack trace of any exception that occurs:Code:
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:91)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:79)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:143)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:356)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at SingleClassTestCase.testDeleteOrphan(SingleClassTestCase.java:98)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.sql.BatchUpdateException: failed batch
at org.hsqldb.jdbc.jdbcStatement.executeBatch(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeBatch(Unknown Source)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
... 23 more
Name and version of the database you are using:HSQLDB 1.8.0.1 and SQL-Server 2000/jTDS 1.2
The generated SQL (show_sql=true):Code:
Hibernate: /* delete one-to-many row SingleClassTestCase$Parent.children */ update CHILD set parent_id=null where parent_id=? and id=?
Debug level Hibernate log excerpt:Code:
INFO org.hibernate.cfg.Environment.<clinit>:479 - Hibernate 3.1.2
INFO org.hibernate.cfg.Environment.<clinit>:509 - hibernate.properties not found
INFO org.hibernate.cfg.Environment.<clinit>:525 - using CGLIB reflection optimizer
INFO org.hibernate.cfg.Environment.<clinit>:555 - using JDK 1.4 java.sql.Timestamp handling
DEBUG org.hibernate.cfg.Configuration.buildSessionFactory:1167 - Preparing to build session factory with filters : {}
DEBUG org.hibernate.cfg.AnnotationConfiguration.secondPassCompile:200 - Execute first pass mapping processing
DEBUG org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType:259 - Process hbm files
DEBUG org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType:267 - Process annotated classes
INFO org.hibernate.cfg.AnnotationBinder.bindClass:322 - Binding entity from annotated class: SingleClassTestCase$Parent
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column TYPE unique false
DEBUG org.hibernate.cfg.annotations.EntityBinder.bindEntity:203 - Import with entity name=SingleClassTestCase$Parent
INFO org.hibernate.cfg.annotations.EntityBinder.bindTable:300 - Bind entity SingleClassTestCase$Parent on table PARENT
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:862 - Processing SingleClassTestCase$Parent per property annotation
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:862 - Processing SingleClassTestCase$Parent per property annotation
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:876 - Processing SingleClassTestCase$Parent per field annotation
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:876 - Processing SingleClassTestCase$Parent per field annotation
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Parent.id
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column id unique false
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1044 - id is an id
DEBUG org.hibernate.cfg.annotations.SimpleValueBinder.make:186 - building SimpleValue for id
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property id
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading id with null
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1081 - Bind @Id on id
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Parent.version
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column version unique false
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1098 - version is a version property
DEBUG org.hibernate.cfg.annotations.PropertyBinder.bind:93 - binding property version with lazy=false
DEBUG org.hibernate.cfg.annotations.SimpleValueBinder.make:186 - building SimpleValue for version
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property version
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading version with null
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1118 - Version name: version, unsavedValue: undefined
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Parent.name
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column name unique false
DEBUG org.hibernate.cfg.annotations.PropertyBinder.bind:93 - binding property name with lazy=false
DEBUG org.hibernate.cfg.annotations.SimpleValueBinder.make:186 - building SimpleValue for name
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property name
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading name with null
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Parent.children
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column parent_id unique false
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column children unique false
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column null unique false
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column null unique false
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column null unique false
DEBUG org.hibernate.cfg.annotations.CollectionBinder.bind:244 - Collection role: SingleClassTestCase$Parent.children
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property children
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading children with all,delete-orphan
DEBUG org.hibernate.validator.ClassValidator.getDefaultResourceBundle:93 - ResourceBundle ValidatorMessages not found. Delegate to org.hibernate.validator.resources.DefaultValidatorMessages
INFO org.hibernate.cfg.AnnotationBinder.bindClass:322 - Binding entity from annotated class: SingleClassTestCase$Child
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column TYPE unique false
DEBUG org.hibernate.cfg.annotations.EntityBinder.bindEntity:203 - Import with entity name=SingleClassTestCase$Child
INFO org.hibernate.cfg.annotations.EntityBinder.bindTable:300 - Bind entity SingleClassTestCase$Child on table CHILD
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:862 - Processing SingleClassTestCase$Child per property annotation
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:862 - Processing SingleClassTestCase$Child per property annotation
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:876 - Processing SingleClassTestCase$Child per field annotation
DEBUG org.hibernate.cfg.AnnotationBinder.addElementsOfAClass:876 - Processing SingleClassTestCase$Child per field annotation
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Child.id
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column id unique false
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1044 - id is an id
DEBUG org.hibernate.cfg.annotations.SimpleValueBinder.make:186 - building SimpleValue for id
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property id
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading id with null
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1081 - Bind @Id on id
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Child.version
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column version unique false
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1098 - version is a version property
DEBUG org.hibernate.cfg.annotations.PropertyBinder.bind:93 - binding property version with lazy=false
DEBUG org.hibernate.cfg.annotations.SimpleValueBinder.make:186 - building SimpleValue for version
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property version
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading version with null
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:1118 - Version name: version, unsavedValue: undefined
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Child.name
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column name unique false
DEBUG org.hibernate.cfg.annotations.PropertyBinder.bind:93 - binding property name with lazy=false
DEBUG org.hibernate.cfg.annotations.SimpleValueBinder.make:186 - building SimpleValue for name
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property name
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading name with null
DEBUG org.hibernate.cfg.AnnotationBinder.processElementAnnotations:931 - Processing annotations of SingleClassTestCase$Child.parent
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column parent_id unique false
DEBUG org.hibernate.cfg.Ejb3Column.bind:160 - Binding column parent unique false
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:112 - Building property parent
DEBUG org.hibernate.cfg.annotations.PropertyBinder.make:121 - Cascading parent with none
DEBUG org.hibernate.validator.ClassValidator.getDefaultResourceBundle:93 - ResourceBundle ValidatorMessages not found. Delegate to org.hibernate.validator.resources.DefaultValidatorMessages
DEBUG org.hibernate.cfg.AnnotationConfiguration.secondPassCompile:227 - processing manytoone fk mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1002 - processing extends queue
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1006 - processing collection mappings
DEBUG org.hibernate.cfg.CollectionSecondPass.doSecondPass:33 - Second pass for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.cfg.annotations.CollectionBinder.bindOneToManySecondPass:443 - Binding a OneToMany: SingleClassTestCase$Parent.children through a foreign key
INFO org.hibernate.cfg.annotations.CollectionBinder.bindOneToManySecondPass:473 - Mapping collection: SingleClassTestCase$Parent.children -> CHILD
DEBUG org.hibernate.cfg.CollectionSecondPass.doSecondPass:49 - Mapped collection key: parent_id, one-to-many: SingleClassTestCase$Child
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1017 - processing native query and ResultSetMapping mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1025 - processing association property references
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1047 - processing foreign key constraints
DEBUG org.hibernate.cfg.Configuration.secondPassCompileForeignKeys:1130 - resolving reference to class: SingleClassTestCase$Parent
INFO org.hibernate.connection.DriverManagerConnectionProvider.configure:41 - Using Hibernate built-in connection pool (not for production use!)
INFO org.hibernate.connection.DriverManagerConnectionProvider.configure:42 - Hibernate connection pool size: 20
INFO org.hibernate.connection.DriverManagerConnectionProvider.configure:45 - autocommit mode: false
INFO org.hibernate.connection.DriverManagerConnectionProvider.configure:80 - using driver: org.hsqldb.jdbcDriver at URL: jdbc:hsqldb:hsql://localhost
INFO org.hibernate.connection.DriverManagerConnectionProvider.configure:83 - connection properties: {user=sa, password=}
DEBUG org.hibernate.connection.DriverManagerConnectionProvider.getConnection:93 - total checked-out connections: 0
DEBUG org.hibernate.connection.DriverManagerConnectionProvider.getConnection:109 - opening new JDBC connection
DEBUG org.hibernate.connection.DriverManagerConnectionProvider.getConnection:115 - created connection to: jdbc:hsqldb:hsql://localhost, Isolation Level: 0
INFO org.hibernate.cfg.SettingsFactory.buildSettings:77 - RDBMS: HSQL Database Engine, version: 1.8.0
INFO org.hibernate.cfg.SettingsFactory.buildSettings:78 - JDBC driver: HSQL Database Engine Driver, version: 1.8.0
DEBUG org.hibernate.connection.DriverManagerConnectionProvider.closeConnection:129 - returning connection to pool, pool size: 1
INFO org.hibernate.dialect.Dialect.<init>:103 - Using dialect: org.hibernate.dialect.HSQLDialect
INFO org.hibernate.transaction.TransactionFactoryFactory.buildTransactionFactory:31 - Using default transaction strategy (direct JDBC transactions)
INFO org.hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
INFO org.hibernate.cfg.SettingsFactory.buildSettings:125 - Automatic flush during beforeCompletion(): enabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:129 - Automatic session close at end of transaction: enabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:136 - JDBC batch size: 15
INFO org.hibernate.cfg.SettingsFactory.buildSettings:139 - JDBC batch updates for versioned data: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:144 - Scrollable result sets: enabled
DEBUG org.hibernate.cfg.SettingsFactory.buildSettings:148 - Wrap result sets: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:152 - JDBC3 getGeneratedKeys(): disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:160 - Connection release mode: auto
INFO org.hibernate.cfg.SettingsFactory.buildSettings:187 - Default batch fetch size: 1
INFO org.hibernate.cfg.SettingsFactory.buildSettings:191 - Generate SQL with comments: enabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:195 - Order SQL updates by primary key: disabled
INFO org.hibernate.cfg.SettingsFactory.createQueryTranslatorFactory:338 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory.<init>:24 - Using ASTQueryTranslatorFactory
INFO org.hibernate.cfg.SettingsFactory.buildSettings:203 - Query language substitutions: {}
INFO org.hibernate.cfg.SettingsFactory.buildSettings:209 - Second-level cache: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:213 - Query cache: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:228 - Optimize cache for minimal puts: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:237 - Structured second-level cache entries: disabled
DEBUG org.hibernate.exception.SQLExceptionConverterFactory.buildSQLExceptionConverter:52 - Using dialect defined converter
INFO org.hibernate.cfg.SettingsFactory.buildSettings:257 - Echoing all SQL to stdout
INFO org.hibernate.cfg.SettingsFactory.buildSettings:264 - Statistics: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:268 - Deleted entity synthetic identifier rollback: disabled
INFO org.hibernate.cfg.SettingsFactory.buildSettings:283 - Default entity-mode: pojo
INFO org.hibernate.impl.SessionFactoryImpl.<init>:153 - building session factory
DEBUG org.hibernate.impl.SessionFactoryImpl.<init>:164 - Session factory constructed with filter configurations : {}
DEBUG org.hibernate.impl.SessionFactoryImpl.<init>:167 - instantiating session factory with properties: {...}
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2447 - Static SQL for entity: SingleClassTestCase$Child
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2449 - Version select: /* get version SingleClassTestCase$Child */ select version from CHILD where id =?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2450 - Snapshot select: /* get current state SingleClassTestCase$Child */ select singleclas_.id, singleclas_.version as version1_, singleclas_.name as name1_, singleclas_.parent_id as parent4_1_ from CHILD singleclas_ where singleclas_.id=?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2452 - Insert 0: /* insert SingleClassTestCase$Child */ insert into CHILD (version, name, parent_id, id) values (?, ?, ?, ?)
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2453 - Update 0: /* update SingleClassTestCase$Child */ update CHILD set version=?, name=?, parent_id=? where id=? and version=?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2454 - Delete 0: /* delete SingleClassTestCase$Child */ delete from CHILD where id=? and version=?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2457 - Identity insert: /* insert SingleClassTestCase$Child */ insert into CHILD (version, name, parent_id, id) values (?, ?, ?, null)
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2447 - Static SQL for entity: SingleClassTestCase$Parent
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2449 - Version select: /* get version SingleClassTestCase$Parent */ select version from PARENT where id =?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2450 - Snapshot select: /* get current state SingleClassTestCase$Parent */ select singleclas_.id, singleclas_.version as version0_, singleclas_.name as name0_ from PARENT singleclas_ where singleclas_.id=?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2452 - Insert 0: /* insert SingleClassTestCase$Parent */ insert into PARENT (version, name, id) values (?, ?, ?)
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2453 - Update 0: /* update SingleClassTestCase$Parent */ update PARENT set version=?, name=? where id=? and version=?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2454 - Delete 0: /* delete SingleClassTestCase$Parent */ delete from PARENT where id=? and version=?
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.logStaticSQL:2457 - Identity insert: /* insert SingleClassTestCase$Parent */ insert into PARENT (version, name, id) values (?, ?, null)
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.logStaticSQL:511 - Static SQL for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.logStaticSQL:512 - Row insert: /* create one-to-many row SingleClassTestCase$Parent.children */ update CHILD set parent_id=? where id=?
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.logStaticSQL:514 - Row delete: /* delete one-to-many row SingleClassTestCase$Parent.children */ update CHILD set parent_id=null where parent_id=? and id=?
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.logStaticSQL:515 - One-shot delete: /* delete one-to-many SingleClassTestCase$Parent.children */ update CHILD set parent_id=null where parent_id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Child: /* load SingleClassTestCase$Child */ select singleclas0_.id as id1_1_, singleclas0_.version as version1_1_, singleclas0_.name as name1_1_, singleclas0_.parent_id as parent4_1_1_, singleclas1_.id as id0_0_, singleclas1_.version as version0_0_, singleclas1_.name as name0_0_ from CHILD singleclas0_ inner join PARENT singleclas1_ on singleclas0_.parent_id=singleclas1_.id where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Child: /* load SingleClassTestCase$Child */ select singleclas0_.id as id1_1_, singleclas0_.version as version1_1_, singleclas0_.name as name1_1_, singleclas0_.parent_id as parent4_1_1_, singleclas1_.id as id0_0_, singleclas1_.version as version0_0_, singleclas1_.name as name0_0_ from CHILD singleclas0_ inner join PARENT singleclas1_ on singleclas0_.parent_id=singleclas1_.id where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Child: /* load SingleClassTestCase$Child */ select singleclas0_.id as id1_0_, singleclas0_.version as version1_0_, singleclas0_.name as name1_0_, singleclas0_.parent_id as parent4_1_0_ from CHILD singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Child: /* load SingleClassTestCase$Child */ select singleclas0_.id as id1_0_, singleclas0_.version as version1_0_, singleclas0_.name as name1_0_, singleclas0_.parent_id as parent4_1_0_ from CHILD singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.CascadeEntityLoader.<init>:67 - Static select for action ACTION_MERGE on entity SingleClassTestCase$Child: /* load SingleClassTestCase$Child */ select singleclas0_.id as id1_0_, singleclas0_.version as version1_0_, singleclas0_.name as name1_0_, singleclas0_.parent_id as parent4_1_0_ from CHILD singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.CascadeEntityLoader.<init>:67 - Static select for action ACTION_REFRESH on entity SingleClassTestCase$Child: /* load SingleClassTestCase$Child */ select singleclas0_.id as id1_0_, singleclas0_.version as version1_0_, singleclas0_.name as name1_0_, singleclas0_.parent_id as parent4_1_0_ from CHILD singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Parent: /* load SingleClassTestCase$Parent */ select singleclas0_.id as id0_0_, singleclas0_.version as version0_0_, singleclas0_.name as name0_0_ from PARENT singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Parent: /* load SingleClassTestCase$Parent */ select singleclas0_.id as id0_0_, singleclas0_.version as version0_0_, singleclas0_.name as name0_0_ from PARENT singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Parent: /* load SingleClassTestCase$Parent */ select singleclas0_.id as id0_0_, singleclas0_.version as version0_0_, singleclas0_.name as name0_0_ from PARENT singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.EntityLoader.<init>:79 - Static select for entity SingleClassTestCase$Parent: /* load SingleClassTestCase$Parent */ select singleclas0_.id as id0_0_, singleclas0_.version as version0_0_, singleclas0_.name as name0_0_ from PARENT singleclas0_ where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.CascadeEntityLoader.<init>:67 - Static select for action ACTION_MERGE on entity SingleClassTestCase$Parent: /* load SingleClassTestCase$Parent */ select singleclas0_.id as id0_1_, singleclas0_.version as version0_1_, singleclas0_.name as name0_1_, children1_.parent_id as parent4_3_, children1_.id as id3_, children1_.id as id1_0_, children1_.version as version1_0_, children1_.name as name1_0_, children1_.parent_id as parent4_1_0_ from PARENT singleclas0_ left outer join CHILD children1_ on singleclas0_.id=children1_.parent_id where singleclas0_.id=?
DEBUG org.hibernate.loader.entity.CascadeEntityLoader.<init>:67 - Static select for action ACTION_REFRESH on entity SingleClassTestCase$Parent: /* load SingleClassTestCase$Parent */ select singleclas0_.id as id0_1_, singleclas0_.version as version0_1_, singleclas0_.name as name0_1_, children1_.parent_id as parent4_3_, children1_.id as id3_, children1_.id as id1_0_, children1_.version as version1_0_, children1_.name as name1_0_, children1_.parent_id as parent4_1_0_ from PARENT singleclas0_ left outer join CHILD children1_ on singleclas0_.id=children1_.parent_id where singleclas0_.id=?
DEBUG org.hibernate.loader.collection.OneToManyLoader.<init>:64 - Static select for one-to-many SingleClassTestCase$Parent.children: /* load one-to-many SingleClassTestCase$Parent.children */ select children0_.parent_id as parent4_1_, children0_.id as id1_, children0_.id as id1_0_, children0_.version as version1_0_, children0_.name as name1_0_, children0_.parent_id as parent4_1_0_ from CHILD children0_ where children0_.parent_id=?
DEBUG org.hibernate.impl.SessionFactoryObjectFactory.<clinit>:39 - initializing class SessionFactoryObjectFactory
DEBUG org.hibernate.impl.SessionFactoryObjectFactory.addInstance:76 - registered: 2c94bcf809e0268f0109e02692670000 (unnamed)
INFO org.hibernate.impl.SessionFactoryObjectFactory.addInstance:82 - Not binding factory to JNDI, no JNDI name configured
DEBUG org.hibernate.impl.SessionFactoryImpl.<init>:292 - instantiated session factory
DEBUG org.hibernate.cfg.AnnotationConfiguration.secondPassCompile:200 - Execute first pass mapping processing
DEBUG org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType:259 - Process hbm files
DEBUG org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType:267 - Process annotated classes
DEBUG org.hibernate.cfg.AnnotationConfiguration.secondPassCompile:227 - processing manytoone fk mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1002 - processing extends queue
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1006 - processing collection mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1017 - processing native query and ResultSetMapping mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1025 - processing association property references
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1047 - processing foreign key constraints
DEBUG org.hibernate.cfg.Configuration.secondPassCompileForeignKeys:1130 - resolving reference to class: SingleClassTestCase$Parent
DEBUG org.hibernate.cfg.AnnotationConfiguration.secondPassCompile:200 - Execute first pass mapping processing
DEBUG org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType:259 - Process hbm files
DEBUG org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType:267 - Process annotated classes
DEBUG org.hibernate.cfg.AnnotationConfiguration.secondPassCompile:227 - processing manytoone fk mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1002 - processing extends queue
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1006 - processing collection mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1017 - processing native query and ResultSetMapping mappings
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1025 - processing association property references
DEBUG org.hibernate.cfg.Configuration.secondPassCompile:1047 - processing foreign key constraints
DEBUG org.hibernate.cfg.Configuration.secondPassCompileForeignKeys:1130 - resolving reference to class: SingleClassTestCase$Parent
...
DEBUG org.hibernate.impl.SessionImpl.<init>:273 - opened session at timestamp: 11419269580
DEBUG org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke:290 - allowing method [getTransaction] in non-transacted context
DEBUG org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke:300 - allowing proxied method [getTransaction] to proceed to real session
DEBUG org.hibernate.transaction.JDBCTransaction.begin:54 - begin
DEBUG org.hibernate.jdbc.ConnectionManager.openConnection:358 - opening JDBC connection
DEBUG org.hibernate.connection.DriverManagerConnectionProvider.getConnection:93 - total checked-out connections: 0
DEBUG org.hibernate.connection.DriverManagerConnectionProvider.getConnection:99 - using pooled JDBC connection, pool size: 0
DEBUG org.hibernate.transaction.JDBCTransaction.begin:59 - current autocommit status: false
DEBUG org.hibernate.jdbc.JDBCContext.afterTransactionBegin:190 - after transaction begin
DEBUG org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke:300 - allowing proxied method [saveOrUpdate] to proceed to real session
DEBUG org.hibernate.engine.VersionValue$1.isUnsaved:87 - version unsaved-value strategy UNDEFINED
DEBUG org.hibernate.engine.IdentifierValue.isUnsaved:207 - id unsaved-value: null
DEBUG org.hibernate.event.def.AbstractSaveEventListener.getEntityState:471 - detached instance of: SingleClassTestCase$Parent
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached:202 - updating detached instance
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate:248 - updating [SingleClassTestCase$Parent#1]
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate:297 - updating [SingleClassTestCase$Parent#1]
DEBUG org.hibernate.engine.Cascade.cascade:237 - processing cascade ACTION_SAVE_UPDATE for: SingleClassTestCase$Parent
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:285 - cascade ACTION_SAVE_UPDATE for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.CascadingAction$1.cascade:133 - cascading to saveOrUpdate: SingleClassTestCase$Child
DEBUG org.hibernate.engine.VersionValue$1.isUnsaved:87 - version unsaved-value strategy UNDEFINED
DEBUG org.hibernate.engine.IdentifierValue.isUnsaved:207 - id unsaved-value: null
DEBUG org.hibernate.event.def.AbstractSaveEventListener.getEntityState:471 - detached instance of: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached:202 - updating detached instance
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate:248 - updating [SingleClassTestCase$Child#1]
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate:297 - updating [SingleClassTestCase$Child#1]
DEBUG org.hibernate.engine.CascadingAction$1.cascade:133 - cascading to saveOrUpdate: SingleClassTestCase$Child
DEBUG org.hibernate.engine.VersionValue$1.isUnsaved:87 - version unsaved-value strategy UNDEFINED
DEBUG org.hibernate.engine.IdentifierValue.isUnsaved:207 - id unsaved-value: null
DEBUG org.hibernate.event.def.AbstractSaveEventListener.getEntityState:471 - detached instance of: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached:202 - updating detached instance
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate:248 - updating [SingleClassTestCase$Child#2]
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate:297 - updating [SingleClassTestCase$Child#2]
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:300 - done cascade ACTION_SAVE_UPDATE for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:311 - deleting orphans for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.VersionValue$1.isUnsaved:87 - version unsaved-value strategy UNDEFINED
DEBUG org.hibernate.engine.IdentifierValue.isUnsaved:207 - id unsaved-value: null
DEBUG org.hibernate.engine.Cascade.deleteOrphans:349 - deleting orphaned entity instance: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.DefaultDeleteEventListener.onDelete:57 - deleting a detached instance
DEBUG org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity:127 - deleting [SingleClassTestCase$Child#3]
DEBUG org.hibernate.impl.SessionImpl.setCacheMode:1293 - setting cache mode to: GET
DEBUG org.hibernate.impl.SessionImpl.setCacheMode:1293 - setting cache mode to: NORMAL
DEBUG org.hibernate.impl.SessionImpl.setCacheMode:1293 - setting cache mode to: GET
DEBUG org.hibernate.impl.SessionImpl.setCacheMode:1293 - setting cache mode to: NORMAL
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:321 - done deleting orphans for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.Cascade.cascade:259 - done processing cascade ACTION_SAVE_UPDATE for: SingleClassTestCase$Parent
DEBUG org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke:300 - allowing proxied method [getTransaction] to proceed to real session
DEBUG org.hibernate.transaction.JDBCTransaction.commit:103 - commit
DEBUG org.hibernate.impl.SessionImpl.managedFlush:355 - automatically flushing session
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions:58 - flushing session
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes:111 - processing flush-time cascades
DEBUG org.hibernate.engine.Cascade.cascade:237 - processing cascade ACTION_SAVE_UPDATE for: SingleClassTestCase$Parent
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:285 - cascade ACTION_SAVE_UPDATE for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.CascadingAction$1.cascade:133 - cascading to saveOrUpdate: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.AbstractSaveEventListener.getEntityState:436 - persistent instance of: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsPersistent:105 - ignoring persistent instance
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsPersistent:142 - object already associated with session: [SingleClassTestCase$Child#1]
DEBUG org.hibernate.engine.CascadingAction$1.cascade:133 - cascading to saveOrUpdate: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.AbstractSaveEventListener.getEntityState:436 - persistent instance of: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsPersistent:105 - ignoring persistent instance
DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsPersistent:142 - object already associated with session: [SingleClassTestCase$Child#2]
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:300 - done cascade ACTION_SAVE_UPDATE for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:311 - deleting orphans for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.Cascade.deleteOrphans:349 - deleting orphaned entity instance: SingleClassTestCase$Child
DEBUG org.hibernate.event.def.DefaultDeleteEventListener.onDelete:90 - deleting a persistent instance
DEBUG org.hibernate.event.def.DefaultDeleteEventListener.onDelete:93 - object was already deleted
DEBUG org.hibernate.engine.Cascade.cascadeCollectionElements:321 - done deleting orphans for collection: SingleClassTestCase$Parent.children
DEBUG org.hibernate.engine.Cascade.cascade:259 - done processing cascade ACTION_SAVE_UPDATE for: SingleClassTestCase$Parent
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.prepareCollectionFlushes:153 - dirty checking collections
DEBUG org.hibernate.engine.CollectionEntry.preFlush:155 - Collection dirty: [SingleClassTestCase$Parent.children#1]
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.flushEntities:170 - Flushing entities and processing referenced collections
DEBUG org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate:222 - Updating entity: [SingleClassTestCase$Parent#1]
DEBUG org.hibernate.engine.Versioning.increment:26 - Incrementing: 0 to 1
DEBUG org.hibernate.engine.Collections.processReachableCollection:176 - Collection found: [SingleClassTestCase$Parent.children#1], was: [SingleClassTestCase$Parent.children#1] (initialized)
DEBUG org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate:222 - Updating entity: [SingleClassTestCase$Child#1]
DEBUG org.hibernate.engine.Versioning.increment:26 - Incrementing: 0 to 1
DEBUG org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate:222 - Updating entity: [SingleClassTestCase$Child#2]
DEBUG org.hibernate.engine.Versioning.increment:26 - Incrementing: 0 to 1
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.flushCollections:209 - Processing unreferenced collections
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.flushCollections:223 - Scheduling collection removes/(re)creates/updates
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions:85 - Flushed: 0 insertions, 3 updates, 1 deletions to 4 objects
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions:91 - Flushed: 0 (re)creations, 1 updates, 0 removals to 1 collections
DEBUG org.hibernate.pretty.Printer.toString:83 - listing entities:
DEBUG org.hibernate.pretty.Printer.toString:90 - SingleClassTestCase$Child{name=Maggie, parent=SingleClassTestCase$Parent#1, id=3, version=0}
DEBUG org.hibernate.pretty.Printer.toString:90 - SingleClassTestCase$Child{name=Lisa, parent=SingleClassTestCase$Parent#1, id=2, version=0}
DEBUG org.hibernate.pretty.Printer.toString:90 - SingleClassTestCase$Parent{name=Homer, children=[SingleClassTestCase$Child#1, SingleClassTestCase$Child#2], id=1, version=0}
DEBUG org.hibernate.pretty.Printer.toString:90 - SingleClassTestCase$Child{name=Bart, parent=SingleClassTestCase$Parent#1, id=1, version=0}
DEBUG org.hibernate.event.def.AbstractFlushingEventListener.performExecutions:289 - executing flush
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.update:2149 - Updating entity: [SingleClassTestCase$Parent#1]
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.update:2150 - Existing version: 0 -> New version: 1
DEBUG org.hibernate.jdbc.AbstractBatcher.logOpenPreparedStatement:311 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
DEBUG org.hibernate.jdbc.AbstractBatcher.log:346 - /* update SingleClassTestCase$Parent */ update PARENT set version=?, name=? where id=? and version=?
Hibernate: /* update SingleClassTestCase$Parent */ update PARENT set version=?, name=? where id=? and version=?
DEBUG org.hibernate.jdbc.AbstractBatcher.getPreparedStatement:424 - preparing statement
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.dehydrate:1821 - Dehydrating entity: [SingleClassTestCase$Parent#1]
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 1
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding 'Homer' to parameter: 2
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 3
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '0' to parameter: 4
DEBUG org.hibernate.jdbc.AbstractBatcher.logClosePreparedStatement:319 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
DEBUG org.hibernate.jdbc.AbstractBatcher.closePreparedStatement:470 - closing statement
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.update:2149 - Updating entity: [SingleClassTestCase$Child#1]
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.update:2150 - Existing version: 0 -> New version: 1
DEBUG org.hibernate.jdbc.AbstractBatcher.logOpenPreparedStatement:311 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
DEBUG org.hibernate.jdbc.AbstractBatcher.log:346 - /* update SingleClassTestCase$Child */ update CHILD set version=?, name=?, parent_id=? where id=? and version=?
Hibernate: /* update SingleClassTestCase$Child */ update CHILD set version=?, name=?, parent_id=? where id=? and version=?
DEBUG org.hibernate.jdbc.AbstractBatcher.getPreparedStatement:424 - preparing statement
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.dehydrate:1821 - Dehydrating entity: [SingleClassTestCase$Child#1]
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 1
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding 'Bart' to parameter: 2
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 3
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 4
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '0' to parameter: 5
DEBUG org.hibernate.jdbc.AbstractBatcher.logClosePreparedStatement:319 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
DEBUG org.hibernate.jdbc.AbstractBatcher.closePreparedStatement:470 - closing statement
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.update:2149 - Updating entity: [SingleClassTestCase$Child#2]
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.update:2150 - Existing version: 0 -> New version: 1
DEBUG org.hibernate.jdbc.AbstractBatcher.logOpenPreparedStatement:311 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
DEBUG org.hibernate.jdbc.AbstractBatcher.log:346 - /* update SingleClassTestCase$Child */ update CHILD set version=?, name=?, parent_id=? where id=? and version=?
Hibernate: /* update SingleClassTestCase$Child */ update CHILD set version=?, name=?, parent_id=? where id=? and version=?
DEBUG org.hibernate.jdbc.AbstractBatcher.getPreparedStatement:424 - preparing statement
DEBUG org.hibernate.persister.entity.AbstractEntityPersister.dehydrate:1821 - Dehydrating entity: [SingleClassTestCase$Child#2]
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 1
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding 'Lisa' to parameter: 2
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 3
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '2' to parameter: 4
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '0' to parameter: 5
DEBUG org.hibernate.jdbc.AbstractBatcher.logClosePreparedStatement:319 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
DEBUG org.hibernate.jdbc.AbstractBatcher.closePreparedStatement:470 - closing statement
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.deleteRows:1079 - Deleting rows of collection: [SingleClassTestCase$Parent.children#1]
DEBUG org.hibernate.jdbc.AbstractBatcher.logOpenPreparedStatement:311 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
DEBUG org.hibernate.jdbc.AbstractBatcher.log:346 - /* delete one-to-many row SingleClassTestCase$Parent.children */ update CHILD set parent_id=null where parent_id=? and id=?
Hibernate: /* delete one-to-many row SingleClassTestCase$Parent.children */ update CHILD set parent_id=null where parent_id=? and id=?
DEBUG org.hibernate.jdbc.AbstractBatcher.getPreparedStatement:424 - preparing statement
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '1' to parameter: 1
DEBUG org.hibernate.type.NullableType.nullSafeSet:79 - binding '3' to parameter: 2
DEBUG org.hibernate.jdbc.BatchingBatcher.addToBatch:28 - Adding to batch
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.deleteRows:1133 - done deleting collection rows: 1 deleted
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.insertRows:1161 - Inserting rows of collection: [SingleClassTestCase$Parent.children#1]
DEBUG org.hibernate.persister.collection.AbstractCollectionPersister.insertRows:1208 - done inserting rows: 0 inserted
DEBUG org.hibernate.jdbc.BatchingBatcher.doExecuteBatch:55 - Executing batch size: 1
DEBUG org.hibernate.jdbc.AbstractBatcher.logClosePreparedStatement:319 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
DEBUG org.hibernate.jdbc.AbstractBatcher.closePreparedStatement:470 - closing statement
DEBUG org.hibernate.util.JDBCExceptionReporter.logExceptions:63 - Could not execute JDBC batch update [/* delete one-to-many row SingleClassTestCase$Parent.children */ update CHILD set parent_id=null where parent_id=? and id=?]