
| Key: |
HHH-368
|
| Type: |
Bug
|
| Status: |
Closed
|
| Resolution: |
Rejected
|
| Priority: |
Major
|
| Assignee: |
Unassigned
|
| Reporter: |
Robert Watkins
|
| Votes: |
1
|
| Watchers: |
3
|
|
If you were logged in you would be able to see more operations.
|
|
|
Hibernate Core
Created: 18/Apr/05 11:19 PM
Updated: 20/Apr/05 04:55 PM
|
|
| Component/s: |
core
|
| Affects Version/s: |
3.0 final
|
| Fix Version/s: |
None
|
|
|
Environment:
|
Hibernate 3.0, Oracle 10g
|
|
|
I have both many-to-many and one-to-many mappings in my project. When I delete the entities, the deletion isn't cascaded accordingly. Thus, dependent objects aren't deleted from the database (either the 'many' side of the one-to-many, or the entries in the join table for the many-to-many).
Example mapping (one-to-many):
Booking -> BookingNight.
HQL: delete from Booking
Error:
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl parse FINE: parse() - HQL: delete from com.wotif.jaguar.domain.booking.Booking
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl showHqlAst FINE: --- HQL AST ---
\-[DELETE] 'delete'
\-[FROM] 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase'
\-[DOT] '.'
+-[DOT] '.'
| +-[DOT] '.'
| | +-[DOT] '.'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'com'
| | | | \-[IDENT] 'wotif'
| | | \-[IDENT] 'jaguar'
| | \-[IDENT] 'domain'
| \-[IDENT] 'booking'
\-[IDENT] 'Booking'
19/04/2005 13:57:03 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 13:57:03 org.hibernate.hql.ast.FromElement doInitialize FINE: FromClause{level=1} : com.wotif.jaguar.domain.booking.Booking (no alias) -> booking0_
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl analyze FINE: --- SQL AST ---
\-[DELETE] QueryNode: 'delete' querySpaces (ORDER_INVOICE)
\-[FROM] FromClause: 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase' FromClause{level=1, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[], fromElementByTableAlias=[booking0_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
\-[FROM_FRAGMENT] FromElement: 'ORDER_INVOICE' FromElement{explicit,not a collection join,classAlias=null,role=null,tableName=ORDER_INVOICE,tableAlias=booking0_,colums={,className=com.wotif.jaguar.domain.booking.Booking}}
19/04/2005 13:57:03 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: HQL: delete from com.wotif.jaguar.domain.booking.Booking
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: SQL: delete from ORDER_INVOICE
19/04/2005 13:57:03 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 13:57:03 org.hibernate.jdbc.AbstractBatcher logOpenPreparedStatement FINE: about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
19/04/2005 13:57:03 org.hibernate.jdbc.AbstractBatcher log FINE: delete from ORDER_INVOICE
19/04/2005 13:57:03 org.hibernate.jdbc.AbstractBatcher logClosePreparedStatement FINE: about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
19/04/2005 13:57:03 org.hibernate.util.JDBCExceptionReporter logExceptions FINE: could not execute update query [delete from ORDER_INVOICE]
java.sql.SQLException: ORA-02292: integrity constraint (RWATKINS.OIAN_ORDER_INVOICE_ID_FK) violated - child record found
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
at org.hibernate.hql.ast.UpdateStatementExecutor.execute(UpdateStatementExecutor.java:67)
at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:292)
at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:815)
at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:89)
at com.wotif.jaguar.util.HibernateTestUtil.deleteAll(HibernateTestUtil.java:307)
at com.wotif.jaguar.util.HibernateTestUtil.deleteAll(HibernateTestUtil.java:251)
at com.wotif.jaguar.hibernate.HibernateConfigTest.testDeleteAll(HibernateConfigTest.java:160)
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 junit.textui.TestRunner.doRun(TestRunner.java:116)
at com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun(IdeaJUnitAgent.java:57)
at junit.textui.TestRunner.start(TestRunner.java:172)
at com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs(TextTestRunner2.java:23)
at com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:97)
at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
19/04/2005 13:57:03 org.hibernate.util.JDBCExceptionReporter logExceptions WARNING: SQL Error: 2292, SQLState: 23000
19/04/2005 13:57:03 org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: ORA-02292: integrity constraint (RWATKINS.OIAN_ORDER_INVOICE_ID_FK) violated - child record found
----
Example mapping (many-to-many):
RoomType <--> RoomFacility
HQL: delete from RoomType
Error:
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl parse FINE: parse() - HQL: delete from com.wotif.jaguar.domain.property.RoomType
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl showHqlAst FINE: --- HQL AST ---
\-[DELETE] 'delete'
\-[FROM] 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase'
\-[DOT] '.'
+-[DOT] '.'
| +-[DOT] '.'
| | +-[DOT] '.'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'com'
| | | | \-[IDENT] 'wotif'
| | | \-[IDENT] 'jaguar'
| | \-[IDENT] 'domain'
| \-[IDENT] 'property'
\-[IDENT] 'RoomType'
19/04/2005 14:16:40 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 14:16:40 org.hibernate.hql.ast.FromElement doInitialize FINE: FromClause{level=1} : com.wotif.jaguar.domain.property.RoomType (no alias) -> roomtype0_
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl analyze FINE: --- SQL AST ---
\-[DELETE] QueryNode: 'delete' querySpaces (PROP_MASTER_ROOM_TYPE)
\-[FROM] FromClause: 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase' FromClause{level=1, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[], fromElementByTableAlias=[roomtype0_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
\-[FROM_FRAGMENT] FromElement: 'PROP_MASTER_ROOM_TYPE' FromElement{explicit,not a collection join,classAlias=null,role=null,tableName=PROP_MASTER_ROOM_TYPE,tableAlias=roomtype0_,colums={,className=com.wotif.jaguar.domain.property.RoomType}}
19/04/2005 14:16:40 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: HQL: delete from com.wotif.jaguar.domain.property.RoomType
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: SQL: delete from PROP_MASTER_ROOM_TYPE
19/04/2005 14:16:40 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 14:16:40 org.hibernate.jdbc.AbstractBatcher logOpenPreparedStatement FINE: about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
19/04/2005 14:16:40 org.hibernate.jdbc.AbstractBatcher log FINE: delete from PROP_MASTER_ROOM_TYPE
19/04/2005 14:16:40 org.hibernate.jdbc.AbstractBatcher logClosePreparedStatement FINE: about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
19/04/2005 14:16:40 org.hibernate.util.JDBCExceptionReporter logExceptions FINE: could not execute update query [delete from PROP_MASTER_ROOM_TYPE]
java.sql.SQLException: ORA-02292: integrity constraint (RWATKINS.PMRTF_PROP_ROOM_TYPE_ID_FK) violated - child record found
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
at org.hibernate.hql.ast.UpdateStatementExecutor.execute(UpdateStatementExecutor.java:67)
at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:292)
at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:815)
at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:89)
...
Obvious workaround would be to use deletion cascade in the database, but this worked in Hibernate 2.1.6 without those triggers.
|
|
Description
|
I have both many-to-many and one-to-many mappings in my project. When I delete the entities, the deletion isn't cascaded accordingly. Thus, dependent objects aren't deleted from the database (either the 'many' side of the one-to-many, or the entries in the join table for the many-to-many).
Example mapping (one-to-many):
Booking -> BookingNight.
HQL: delete from Booking
Error:
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl parse FINE: parse() - HQL: delete from com.wotif.jaguar.domain.booking.Booking
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl showHqlAst FINE: --- HQL AST ---
\-[DELETE] 'delete'
\-[FROM] 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase'
\-[DOT] '.'
+-[DOT] '.'
| +-[DOT] '.'
| | +-[DOT] '.'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'com'
| | | | \-[IDENT] 'wotif'
| | | \-[IDENT] 'jaguar'
| | \-[IDENT] 'domain'
| \-[IDENT] 'booking'
\-[IDENT] 'Booking'
19/04/2005 13:57:03 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 13:57:03 org.hibernate.hql.ast.FromElement doInitialize FINE: FromClause{level=1} : com.wotif.jaguar.domain.booking.Booking (no alias) -> booking0_
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl analyze FINE: --- SQL AST ---
\-[DELETE] QueryNode: 'delete' querySpaces (ORDER_INVOICE)
\-[FROM] FromClause: 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase' FromClause{level=1, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[], fromElementByTableAlias=[booking0_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
\-[FROM_FRAGMENT] FromElement: 'ORDER_INVOICE' FromElement{explicit,not a collection join,classAlias=null,role=null,tableName=ORDER_INVOICE,tableAlias=booking0_,colums={,className=com.wotif.jaguar.domain.booking.Booking}}
19/04/2005 13:57:03 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: HQL: delete from com.wotif.jaguar.domain.booking.Booking
19/04/2005 13:57:03 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: SQL: delete from ORDER_INVOICE
19/04/2005 13:57:03 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 13:57:03 org.hibernate.jdbc.AbstractBatcher logOpenPreparedStatement FINE: about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
19/04/2005 13:57:03 org.hibernate.jdbc.AbstractBatcher log FINE: delete from ORDER_INVOICE
19/04/2005 13:57:03 org.hibernate.jdbc.AbstractBatcher logClosePreparedStatement FINE: about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
19/04/2005 13:57:03 org.hibernate.util.JDBCExceptionReporter logExceptions FINE: could not execute update query [delete from ORDER_INVOICE]
java.sql.SQLException: ORA-02292: integrity constraint (RWATKINS.OIAN_ORDER_INVOICE_ID_FK) violated - child record found
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
at org.hibernate.hql.ast.UpdateStatementExecutor.execute(UpdateStatementExecutor.java:67)
at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:292)
at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:815)
at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:89)
at com.wotif.jaguar.util.HibernateTestUtil.deleteAll(HibernateTestUtil.java:307)
at com.wotif.jaguar.util.HibernateTestUtil.deleteAll(HibernateTestUtil.java:251)
at com.wotif.jaguar.hibernate.HibernateConfigTest.testDeleteAll(HibernateConfigTest.java:160)
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 junit.textui.TestRunner.doRun(TestRunner.java:116)
at com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun(IdeaJUnitAgent.java:57)
at junit.textui.TestRunner.start(TestRunner.java:172)
at com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs(TextTestRunner2.java:23)
at com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:97)
at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
19/04/2005 13:57:03 org.hibernate.util.JDBCExceptionReporter logExceptions WARNING: SQL Error: 2292, SQLState: 23000
19/04/2005 13:57:03 org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: ORA-02292: integrity constraint (RWATKINS.OIAN_ORDER_INVOICE_ID_FK) violated - child record found
----
Example mapping (many-to-many):
RoomType <--> RoomFacility
HQL: delete from RoomType
Error:
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl parse FINE: parse() - HQL: delete from com.wotif.jaguar.domain.property.RoomType
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl showHqlAst FINE: --- HQL AST ---
\-[DELETE] 'delete'
\-[FROM] 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase'
\-[DOT] '.'
+-[DOT] '.'
| +-[DOT] '.'
| | +-[DOT] '.'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'com'
| | | | \-[IDENT] 'wotif'
| | | \-[IDENT] 'jaguar'
| | \-[IDENT] 'domain'
| \-[IDENT] 'property'
\-[IDENT] 'RoomType'
19/04/2005 14:16:40 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 14:16:40 org.hibernate.hql.ast.FromElement doInitialize FINE: FromClause{level=1} : com.wotif.jaguar.domain.property.RoomType (no alias) -> roomtype0_
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl analyze FINE: --- SQL AST ---
\-[DELETE] QueryNode: 'delete' querySpaces (PROP_MASTER_ROOM_TYPE)
\-[FROM] FromClause: 'implied-from-so-i-can-use-the-fromClause-rule-during-analysis-phase' FromClause{level=1, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[], fromElementByTableAlias=[roomtype0_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
\-[FROM_FRAGMENT] FromElement: 'PROP_MASTER_ROOM_TYPE' FromElement{explicit,not a collection join,classAlias=null,role=null,tableName=PROP_MASTER_ROOM_TYPE,tableAlias=roomtype0_,colums={,className=com.wotif.jaguar.domain.property.RoomType}}
19/04/2005 14:16:40 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: HQL: delete from com.wotif.jaguar.domain.property.RoomType
19/04/2005 14:16:40 org.hibernate.hql.ast.QueryTranslatorImpl generate FINE: SQL: delete from PROP_MASTER_ROOM_TYPE
19/04/2005 14:16:40 org.hibernate.hql.ast.ErrorCounter throwQueryException FINE: throwQueryException() : no errors
19/04/2005 14:16:40 org.hibernate.jdbc.AbstractBatcher logOpenPreparedStatement FINE: about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
19/04/2005 14:16:40 org.hibernate.jdbc.AbstractBatcher log FINE: delete from PROP_MASTER_ROOM_TYPE
19/04/2005 14:16:40 org.hibernate.jdbc.AbstractBatcher logClosePreparedStatement FINE: about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
19/04/2005 14:16:40 org.hibernate.util.JDBCExceptionReporter logExceptions FINE: could not execute update query [delete from PROP_MASTER_ROOM_TYPE]
java.sql.SQLException: ORA-02292: integrity constraint (RWATKINS.PMRTF_PROP_ROOM_TYPE_ID_FK) violated - child record found
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
at org.hibernate.hql.ast.UpdateStatementExecutor.execute(UpdateStatementExecutor.java:67)
at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:292)
at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:815)
at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:89)
...
Obvious workaround would be to use deletion cascade in the database, but this worked in Hibernate 2.1.6 without those triggers. |
Show » |
|