I have a very simple one to many relationship between "Schedulers" and "Jobs" and am having performance problems with a cascading delete. I have read through the manual and still can't seem to resolve these issues on my own.
I am trying to delete a scheduler and am having 2 problems.
First:
I understand that when I do a delete, it requires a "find" of the object to be done. However, I don't understand why that "find" is not being done using an outer join - it is the n+1 issue.
Second:
Same kind of issue when the cascade delete is being performed. Shouldn't the cascade delete be smart enough to delete the children with one sql statement. Similar to what I read in the manual:
Quote:
"Occasionally, deleting collection elements one by one can be extremely inefficient. Hibernate isn't completly
stupid, so it knows not to do that in the case of an newly-empty collection (if you called list.clear(), for example).
In this case, Hibernate will issue a single DELETE and we are done!"
Any help would be greatly appreciated.
Here are my mapping files:
JobScheduler.hbm.xml
Code:
<class name="com.termalabs.common.hibernate.jaws.JobScheduler" table="JobScheduler">
<id name="jobSchedulerId" type="java.lang.String" column="jobSchedulerId">
<generator class="uuid.hex" />
</id>
<property name="schedulerName" type="java.lang.String" column="schedulerName" length="100"/>
<set name="jawsJobs" lazy="true" sort="unsorted" outer-join="true" cascade="delete" inverse="true">
<key> <column name="jobSchedulerId" /> </key>
<one-to-many class="com.termalabs.common.hibernate.jaws.JawsJob" />
</set>
</class>
JawsJob.hbm.xmlCode:
<class name="com.termalabs.common.hibernate.jaws.JawsJob" table="JawsJob">
<id name="jobId" type="string" column="jobId" >
<generator class="uuid.hex" />
</id>
<discriminator column="jobType" type="java.lang.String"/>
<property name="extJobId" type="int" column="extJobId" length="10"/>
<property name="jobName" type="java.lang.String" column="jobName" length="255"/>
<many-to-one name="jobScheduler" class="com.termalabs.common.hibernate.jaws.JobScheduler" not-null="true" unique="false" update="true" insert="true" >
<column name="jobSchedulerId" />
</many-to-one>
<subclass name="com.termalabs.common.hibernate.jaws.SimpleJob" discriminator-value="SimpleJob"></subclass>
<subclass name="com.termalabs.common.hibernate.jaws.JobGroup" discriminator-value="JobGroup"> </subclass>
Here is the application code:Code:
Transaction tx = session.beginTransaction();
session.delete("from JobScheduler scheduler where scheduler.jobSchedulerId=?",schedulerId,Hibernate.STRING);
tx.commit();
Here is the debug logCode:
09 10:39:57 DEBUG [SessionFactoryObjectFactory.getObjectInstance.(69)] JNDI lookup: HibernateFactory
09 10:39:57 DEBUG [SessionFactoryObjectFactory.getInstance.(145)] lookup: uid=402881e6fd0a271c00fd0a35eee10003
09 10:39:57 DEBUG [SessionImpl.<init>.(531)] opened session
09 10:39:57 DEBUG [JTATransaction.begin.(130)] Looking for UserTransaction under: UserTransaction
09 10:39:57 DEBUG [JTATransaction.begin.(142)] Obtained UserTransaction
09 10:39:57 DEBUG [JTATransaction.begin.(147)] beginning new transaction
09 10:39:57 DEBUG [SessionImpl.delete.(1629)] delete: from JobScheduler scheduler where scheduler.jobSchedulerId=?
09 10:39:57 DEBUG [SessionImpl.delete.(1630)] parameters: 402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [SessionImpl.find.(1497)] find: from JobScheduler scheduler where scheduler.jobSchedulerId=?
09 10:39:57 DEBUG [QueryParameters.traceParameters.(105)] parameters: [402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.flushEverything.(2210)] flushing session
09 10:39:57 DEBUG [SessionImpl.flushEntities.(2403)] Flushing entities and processing referenced collections
09 10:39:57 DEBUG [SessionImpl.flushCollections.(2746)] Processing unreferenced collections
09 10:39:57 DEBUG [SessionImpl.flushCollections.(2760)] Scheduling collection removes/(re)creates/updates
09 10:39:57 DEBUG [SessionImpl.flushEverything.(2234)] Flushed: 0 insertions, 0 updates, 0 deletions to 0 objects
09 10:39:57 DEBUG [SessionImpl.flushEverything.(2239)] Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
09 10:39:57 DEBUG [SessionImpl.autoFlushIfRequired.(1782)] Dont need to execute flush
09 10:39:57 DEBUG [QueryTranslator.logQuery.(199)] HQL: from com.termalabs.common.hibernate.jaws.JobScheduler scheduler where scheduler.jobSchedulerId=?
09 10:39:57 DEBUG [QueryTranslator.logQuery.(200)] SQL: select jobschedul0_.jobSchedulerId as jobSched1_, jobschedul0_.schedulerName as schedule2_, jobschedul0_.instanceName as instance3_, jobschedul0_.lastRunTime as lastRunT4_, jobschedul0_.jndiName as jndiName, jobschedul0_.version as version, jobschedul0_.timeZone as timeZone, jobschedul0_.dbms as dbms, jobschedul0_.userid as userid, jobschedul0_.password as password, jobschedul0_.databaseName as databas11_, jobschedul0_.server as server, jobschedul0_.port as port, jobschedul0_.archiveDirectory as archive14_, jobschedul0_.driverClass as driverC15_ from JobScheduler jobschedul0_ where (jobschedul0_.jobSchedulerId=? )
09 10:39:57 DEBUG [BatcherImpl.logOpenPreparedStatement.(196)] about to open: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [SQL.getPreparedStatement.(237)] select jobschedul0_.jobSchedulerId as jobSched1_, jobschedul0_.schedulerName as schedule2_, jobschedul0_.instanceName as instance3_, jobschedul0_.lastRunTime as lastRunT4_, jobschedul0_.jndiName as jndiName, jobschedul0_.version as version, jobschedul0_.timeZone as timeZone, jobschedul0_.dbms as dbms, jobschedul0_.userid as userid, jobschedul0_.password as password, jobschedul0_.databaseName as databas11_, jobschedul0_.server as server, jobschedul0_.port as port, jobschedul0_.archiveDirectory as archive14_, jobschedul0_.driverClass as driverC15_ from JobScheduler jobschedul0_ where (jobschedul0_.jobSchedulerId=? )
09 10:39:57 DEBUG [BatcherImpl.getPreparedStatement.(241)] preparing statement
09 10:39:57 DEBUG [StringType.nullSafeSet.(46)] binding '402881e5fccd607c00fccd8ea2b1001e' to parameter: 1
09 10:39:57 DEBUG [Loader.doQuery.(197)] processing result set
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobSched1_
09 10:39:57 DEBUG [Loader.getRow.(405)] result row: 402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [Loader.loadFromResultSet.(536)] Initializing object from ResultSet: 402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [Loader.hydrate.(605)] Hydrating entity: com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'autotest' as column: schedule2_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'ace' as column: instance3_
09 10:39:57 DEBUG [TimestampType.nullSafeGet.(64)] returning null as column: lastRunT4_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'autotest' as column: jndiName
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: version
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: timeZone
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'SQL Server' as column: dbms
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'sa' as column: userid
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'sa' as column: password
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'autotest' as column: databas11_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'localhost' as column: server
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '1433' as column: port
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: archive14_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'net.sourceforge.jtds.jdbc.Driver' as column: driverC15_
09 10:39:57 DEBUG [Loader.doQuery.(226)] done processing result set (1 rows)
09 10:39:57 DEBUG [BatcherImpl.logClosePreparedStatement.(203)] done closing: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [BatcherImpl.closePreparedStatement.(261)] closing statement
09 10:39:57 DEBUG [Loader.doQuery.(239)] total objects hydrated: 1
09 10:39:57 DEBUG [SessionImpl.initializeEntity.(2166)] resolving associations for [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.getCollection.(3891)] creating collection wrapper:[com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.initializeEntity.(2190)] done materializing entity [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.initializeNonLazyCollections.(3082)] initializing non-lazy collections
09 10:39:57 DEBUG [SessionImpl.initializeCollection.(3218)] initializing collection [com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.initializeCollection.(3219)] checking second-level cache
09 10:39:57 DEBUG [SessionImpl.initializeCollection.(3225)] collection not cached
09 10:39:57 DEBUG [BatcherImpl.logOpenPreparedStatement.(196)] about to open: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [SQL.getPreparedStatement.(237)] select jawsjobs0_.jobId as jobId__, jawsjobs0_.jobSchedulerId as jobSched8___, jawsjobs0_.jobId as jobId0_, jawsjobs0_.jobType as jobType0_, jawsjobs0_.extJobId as extJobId0_, jawsjobs0_.jobName as jobName0_, jawsjobs0_.conditionString as conditio5_0_, jawsjobs0_.timeZone as timeZone0_, jawsjobs0_.extJobType as extJobType0_, jawsjobs0_.jobSchedulerId as jobSched8_0_ from JawsJob jawsjobs0_ where jawsjobs0_.jobSchedulerId=?
09 10:39:57 DEBUG [BatcherImpl.getPreparedStatement.(241)] preparing statement
09 10:39:57 DEBUG [StringType.nullSafeSet.(46)] binding '402881e5fccd607c00fccd8ea2b1001e' to parameter: 1
09 10:39:57 DEBUG [Loader.handleEmptyCollections.(327)] result set contains (possibly empty) collection: [com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.getLoadingCollection.(2984)] uninitialized collection: initializing
09 10:39:57 DEBUG [Loader.doQuery.(197)] processing result set
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001d' as column: jobId0_
09 10:39:57 DEBUG [Loader.getRow.(405)] result row: 402881e5fccd607c00fccd8ea2b1001d
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'SimpleJob' as column: jobType0_
09 10:39:57 DEBUG [Loader.loadFromResultSet.(536)] Initializing object from ResultSet: 402881e5fccd607c00fccd8ea2b1001d
09 10:39:57 DEBUG [Loader.hydrate.(605)] Hydrating entity: com.termalabs.common.hibernate.jaws.SimpleJob#402881e5fccd607c00fccd8ea2b1001d
09 10:39:57 DEBUG [IntegerType.nullSafeGet.(68)] returning '1' as column: extJobId0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'xxx' as column: jobName0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: conditio5_0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: timeZone0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: extJobType0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobSched8_0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobSched8___
09 10:39:57 DEBUG [Loader.readCollectionElement.(292)] found row of collection: [com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.getLoadingCollection.(3007)] reading row
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001d' as column: jobId__
09 10:39:57 DEBUG [SessionImpl.doLoadByClass.(1950)] loading [com.termalabs.common.hibernate.jaws.JawsJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2047)] attempting to resolve [com.termalabs.common.hibernate.jaws.JawsJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2063)] resolved object in session cache [com.termalabs.common.hibernate.jaws.JawsJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobId0_
09 10:39:57 DEBUG [Loader.getRow.(405)] result row: 402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'JobGroup' as column: jobType0_
09 10:39:57 DEBUG [Loader.loadFromResultSet.(536)] Initializing object from ResultSet: 402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [Loader.hydrate.(605)] Hydrating entity: com.termalabs.common.hibernate.jaws.JobGroup#402881e5fccd607c00fccd8ea2b1001e
09 10:39:57 DEBUG [IntegerType.nullSafeGet.(68)] returning '6' as column: extJobId0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning 'My Box' as column: jobName0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: conditio5_0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: timeZone0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(64)] returning null as column: extJobType0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobSched8_0_
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobSched8___
09 10:39:57 DEBUG [Loader.readCollectionElement.(292)] found row of collection: [com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.getLoadingCollection.(3007)] reading row
09 10:39:57 DEBUG [StringType.nullSafeGet.(68)] returning '402881e5fccd607c00fccd8ea2b1001e' as column: jobId__
09 10:39:57 DEBUG [SessionImpl.doLoadByClass.(1950)] loading [com.termalabs.common.hibernate.jaws.JawsJob#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2047)] attempting to resolve [com.termalabs.common.hibernate.jaws.JawsJob#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2063)] resolved object in session cache [com.termalabs.common.hibernate.jaws.JawsJob#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [Loader.doQuery.(226)] done processing result set (2 rows)
09 10:39:57 DEBUG [BatcherImpl.logClosePreparedStatement.(203)] done closing: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [BatcherImpl.closePreparedStatement.(261)] closing statement
09 10:39:57 DEBUG [Loader.doQuery.(239)] total objects hydrated: 2
09 10:39:57 DEBUG [SessionImpl.initializeEntity.(2166)] resolving associations for [com.termalabs.common.hibernate.jaws.SimpleJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [SessionImpl.doLoadByClass.(1950)] loading [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2047)] attempting to resolve [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2063)] resolved object in session cache [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.initializeEntity.(2190)] done materializing entity [com.termalabs.common.hibernate.jaws.SimpleJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [SessionImpl.initializeEntity.(2166)] resolving associations for [com.termalabs.common.hibernate.jaws.JobGroup#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoadByClass.(1950)] loading [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2047)] attempting to resolve [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.doLoad.(2063)] resolved object in session cache [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.initializeEntity.(2190)] done materializing entity [com.termalabs.common.hibernate.jaws.JobGroup#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.endLoadingCollections.(3043)] 1 collections were found in result set
09 10:39:57 DEBUG [SessionImpl.endLoadingCollections.(3061)] collection fully initialized: [com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.endLoadingCollections.(3064)] 1 collections initialized
09 10:39:57 DEBUG [SessionImpl.initializeCollection.(3227)] collection initialized
09 10:39:57 DEBUG [SessionImpl.delete.(1132)] deleting a persistent instance
09 10:39:57 DEBUG [SessionImpl.doDelete.(1152)] deleting [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [Cascades.cascade.(497)] processing cascades for: com.termalabs.common.hibernate.jaws.JobScheduler
09 10:39:57 DEBUG [Cascades.cascadeCollection.(524)] cascading to collection: com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs
09 10:39:57 DEBUG [Cascades.cascade.(60)] cascading to delete()
09 10:39:57 DEBUG [SessionImpl.delete.(1132)] deleting a persistent instance
09 10:39:57 DEBUG [SessionImpl.doDelete.(1152)] deleting [com.termalabs.common.hibernate.jaws.JobGroup#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [Cascades.cascade.(60)] cascading to delete()
09 10:39:57 DEBUG [SessionImpl.delete.(1132)] deleting a persistent instance
09 10:39:57 DEBUG [SessionImpl.doDelete.(1152)] deleting [com.termalabs.common.hibernate.jaws.SimpleJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [Cascades.cascade.(506)] done processing cascades for: com.termalabs.common.hibernate.jaws.JobScheduler
09 10:39:57 DEBUG [Cascades.cascade.(497)] processing cascades for: com.termalabs.common.hibernate.jaws.JobScheduler
09 10:39:57 DEBUG [Cascades.cascade.(506)] done processing cascades for: com.termalabs.common.hibernate.jaws.JobScheduler
09 10:39:57 DEBUG [JTATransaction.commit.(50)] commit
09 10:39:57 DEBUG [SessionImpl.flushEverything.(2210)] flushing session
09 10:39:57 DEBUG [SessionImpl.flushEntities.(2403)] Flushing entities and processing referenced collections
09 10:39:57 DEBUG [SessionImpl.flushCollections.(2746)] Processing unreferenced collections
09 10:39:57 DEBUG [SessionImpl.updateUnreachableCollection.(2867)] Collection dereferenced: [com.termalabs.common.hibernate.jaws.JobScheduler.jawsJobs#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [SessionImpl.flushCollections.(2760)] Scheduling collection removes/(re)creates/updates
09 10:39:57 DEBUG [SessionImpl.flushEverything.(2234)] Flushed: 0 insertions, 0 updates, 3 deletions to 3 objects
09 10:39:57 DEBUG [SessionImpl.flushEverything.(2239)] Flushed: 0 (re)creations, 0 updates, 1 removals to 1 collections
09 10:39:57 DEBUG [Printer.toString.(75)] listing entities:
09 10:39:57 DEBUG [Printer.toString.(82)] com.termalabs.common.hibernate.jaws.SimpleJob{timeZone=null, extJobType=null, jobScheduler=JobScheduler#402881e5fccd607c00fccd8ea2b1001e, conditionString=null, extJobId=1, jobId=402881e5fccd607c00fccd8ea2b1001d, jobName=xxx}
09 10:39:57 DEBUG [Printer.toString.(82)] com.termalabs.common.hibernate.jaws.JobGroup{timeZone=null, extJobType=null, jobScheduler=JobScheduler#402881e5fccd607c00fccd8ea2b1001e, conditionString=null, extJobId=6, jobId=402881e5fccd607c00fccd8ea2b1001e, jobName=My Box}
09 10:39:57 DEBUG [Printer.toString.(82)] com.termalabs.common.hibernate.jaws.JobScheduler{instanceName=ace, password=sa, timeZone=null, jawsJobs=[JobGroup#402881e5fccd607c00fccd8ea2b1001e, SimpleJob#402881e5fccd607c00fccd8ea2b1001d], jndiName=autotest, databaseName=autotest, jobSchedulerId=402881e5fccd607c00fccd8ea2b1001e, archiveDirectory=null, port=1433, version=null, userid=sa, driverClass=net.sourceforge.jtds.jdbc.Driver, schedulerName=autotest, dbms=SQL Server, server=localhost, lastRunTime=null}
09 10:39:57 DEBUG [SessionImpl.execute.(2323)] executing flush
09 10:39:57 DEBUG [EntityPersister.delete.(569)] Deleting entity: [com.termalabs.common.hibernate.jaws.JobGroup#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [BatcherImpl.logOpenPreparedStatement.(196)] about to open: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [SQL.getPreparedStatement.(237)] delete from JawsJob where jobId=?
09 10:39:57 DEBUG [BatcherImpl.getPreparedStatement.(241)] preparing statement
09 10:39:57 DEBUG [StringType.nullSafeSet.(46)] binding '402881e5fccd607c00fccd8ea2b1001e' to parameter: 1
09 10:39:57 DEBUG [EntityPersister.delete.(569)] Deleting entity: [com.termalabs.common.hibernate.jaws.SimpleJob#402881e5fccd607c00fccd8ea2b1001d]
09 10:39:57 DEBUG [StringType.nullSafeSet.(46)] binding '402881e5fccd607c00fccd8ea2b1001d' to parameter: 1
09 10:39:57 DEBUG [EntityPersister.delete.(569)] Deleting entity: [com.termalabs.common.hibernate.jaws.JobScheduler#402881e5fccd607c00fccd8ea2b1001e]
09 10:39:57 DEBUG [BatcherImpl.logClosePreparedStatement.(203)] done closing: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [BatcherImpl.closePreparedStatement.(261)] closing statement
09 10:39:57 DEBUG [BatcherImpl.logOpenPreparedStatement.(196)] about to open: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [SQL.getPreparedStatement.(237)] delete from JobScheduler where jobSchedulerId=?
09 10:39:57 DEBUG [BatcherImpl.getPreparedStatement.(241)] preparing statement
09 10:39:57 DEBUG [StringType.nullSafeSet.(46)] binding '402881e5fccd607c00fccd8ea2b1001e' to parameter: 1
09 10:39:57 DEBUG [BatcherImpl.logClosePreparedStatement.(203)] done closing: 0 open PreparedStatements, 0 open ResultSets
09 10:39:57 DEBUG [BatcherImpl.closePreparedStatement.(261)] closing statement
09 10:39:57 DEBUG [SessionImpl.postFlush.(2790)] post flush
09 10:39:57 DEBUG [SessionImpl.afterTransactionCompletion.(561)] transaction completion
09 10:39:57 DEBUG [SessionImpl.close.(549)] closing session
09 10:39:57 DEBUG [SessionImpl.disconnect.(3294)] disconnecting session
09 10:39:57 DEBUG [SessionImpl.afterTransactionCompletion.(561)] transaction completion
09 10:39:57 DEBUG [SessionImpl.close.(549)] closing session
[/code]