Hibernate OnDelete Cascade no funciona para MySql pero funciona en postgres y Ms-Sql

Estoy teniendo 2 entidades.Hilo entidad yEnviar entidad que utiliza el mapeo OnetoOne dePost-> Hilo.

A Hilo entidad contiene NumerososPublicaciones. Sé que debería haber usado OnetoMany en lugar de OnetoOne, pero para evitar todos los problemas de Colecciones estoy usando OnetoOne

Ahora el problema es que cuando elimino unHilo, todosenviar asociado con él también debe ser eliminado. Tengo éxito en hacerlo usando

@OnDelete(action = OnDeleteAction.CASCADE)

Pero solo funciona en Postgres y Ms-SQl, pero no en MySql (también probé InnoDb). losen eliminar cascada no se genera en la consulta de generación de esquema.

Los siguientes son el código

//Thread Entity
@Id
@GeneratedValue
@Column(name = "thread_id")
private int ThreadID;
//Post Entity
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "post_id")
private int PostID;

@OneToOne()
@OnDelete(action = OnDeleteAction.CASCADE)
private thread ThreadID;

Aparece el siguiente error al eliminar un elemento deHilo entidad que utiliza la siguiente consulta

session.delete(session.load(thread.class,1));

02 de septiembre de 2014 8:33:51 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 1451, SQLState: 23000 02 de septiembre de 2014 8:33:51 PM org.hibernate.engine.jdbc. spi.SqlExceptionHelper logExceptions ERROR: no se puede eliminar o actualizar una fila principal: falla una restricción de clave externa (forum.post_tbl, RESTRICCIÓNFK_bfbv5nknqj7ppd5630scimhtb CLAVE EXTERNA (ThreadID_thread_id) REFERENCIASthread_tbl (thread_id)) org.hibernate.exception.ConstraintViolationException: no se pudo ejecutar la instrucción en org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert (SQLExceptionTypeDelegate.java:74) en org.hibernate.exception.internal.StandardSQLExceptionConverter.convert: StandardSLE.Converter.java 49) en org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:125) en org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:110) en org.hibernate.org .jdbc.internal. (AbstractEntityPersister.java:3343) en org.hibernate.persister.entity.AbstractEntityPersister.delete (AbstractEntityPersister.java:3546) en org.hibernate.action.internal.EntityDeleteAction.execute (EntityDeleteAction.java:100) en org.hibernate. engine.spi.Acti onQueue.execute (ActionQueue.java:377) en org.hibernate.engine.spi.ActionQueue.executeActions (ActionQueue.java:369) en org.hibernate.engine.spi.ActionQueue.executeActions (ActionQueue.java:293) en org .hibernate.event.internal.AbstractFlushingEventListener.performExecutions (AbstractFlushingEventListener.java:339) en org.hibernate.event.internal.DefaultFlushEventListener.onFlush (DefaultFlushEventListener.java:52) en org.hibermpl.internal.SessionI. : 1234) en org.hibernate.internal.SessionImpl.managedFlush (SessionImpl.java:404) en org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit (JdbcTransaction.java:101) en org.hibernate.engine. transaction.spi.AbstractTransactionImpl.commit (AbstractTransactionImpl.java:175) en test.main (test.java:84) Causado por: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: No se puede eliminar o actualizar una fila principal: una extranjera la restricción clave falla (forum.post_tbl, RESTRICCIÓNFK_bfbv5nknqj7ppd5630scimhtb CLAVE EXTERNA (ThreadID_thread_id) REFERENCIASthread_tbl (thread_id)) HibernateException: no se pudo ejecutar la declaración en sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingImpl.Accesando el dispositivo. en java.lang.reflect.Constructor.newInstance (Constructor.java:408) en com.mysql.jdbc.Util.handleNewInstance (Util.java:411) en com.mysql.jdbc.Util.getInstance (Util.java:386 ) en com.mysql.jdbc. 4052) en com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:2503) en com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:2664) en com.mysql.jdbc.ConnectionImpl.exe.SQL.exe : 2794) en com.mysql.jdbc.PreparedStatement.executeInternal (PreparedStatement.java:2155) en com.mysql.jdbc.PreparedStatement.executeUpda te (PreparedStatement.java:2458) en com.mysql.jdbc.PreparedStatement.executeUpdate (PreparedStatement.java:2375) en com.mysql.jdbc.PreparedStatement.executeUpdate (PreparedStatement.java:2359) en org.hibernate.cgine.jd .internal.ResultSetReturnImpl.executeUpdate (ResultSetReturnImpl.java:133) ... 14 más CONSTRUIR ÉXITO (tiempo total: 2 segundos)

Por favor, ayúdame a encontrar una salida a esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta