O Hibernate OnDelete Cascade não funciona no MySql, mas funciona no postgres e no Ms-Sql

Estou tendo 2 entidades.Fio entidade ePostar entidade usando o mapeamento OnetoOne dePost-> Thread.

A Fio entidade contém numerososPostagens. Eu sei que deveria ter usado o OnetoMany em vez do OnetoOne, mas para evitar todos os problemas de coleções, estou usando o OnetoOne

Agora o problema é que, quando eu excluo umFio, todospostar associado a ele também deve ser removido. Eu sou bem sucedido em fazê-lo usando

@OnDelete(action = OnDeleteAction.CASCADE)

Mas funciona apenas no Postgres e no Ms-SQl, mas não no MySql (tentei o InnoDb também). ona exclusão em cascata não é gerado na consulta de geração de esquema.

A seguir está o 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;

Recebo o seguinte erro Ao excluir um item deFio entidade usando a seguinte consulta

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

02 de setembro de 2014 20:33:51 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions AVISO: Erro SQL: 1451, SQLState: 23000 02 de setembro de 2014 20:33:51 PM org.hibernate.engine.jdbc. spi.SqlExceptionHelper logExceptions ERRO: Não é possível excluir ou atualizar uma linha pai: uma restrição de chave estrangeira falha (forum.post_tbl, RESTRIÇÃOFK_bfbv5nknqj7ppd5630scimhtb CHAVE ESTRANGEIRA (ThreadID_thread_id) REFERÊNCIASthread_tbl (thread_id)) org.hibernate.exception.ConstraintViolationException: não foi possível executar a instrução em org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert (SQLExceptionTypeDelegate.java:74) em org.hibernate.exception.internal.StandardSQLExceptionConverter.convert (Standard) 49) em org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:125) em org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:110) em org.hibernate.engine. .jdbc.internal. (AbstractEntityPersister.java:3343) em org.hibernate.persister.entity.AbstractEntityPersister.delete (AbstractEntityPersister.java:3546) em org.hibernate.action.internal.EntityDeleteAction.execute (EntityDeleteAction.java:100) em org. engine.spi.Acti onQueue.execute (ActionQueue.java:377) em org.hibernate.engine.spi.ActionQueue.executeActions (ActionQueue.java:369) em org.hibernate.engine.spi.ActionQueue.executeActions (ActionQueue.java:293) na org .hibernate.event.internal.AbstractFlushingEventListener.performExecutions (AbstractFlushingEventListener.java:339) em org.hibernate.event.internal.DefaultFlushEventListener.onFlush (DefaultFlushEventListener.java:52) em org.hibernv : 1234) em org.hibernate.internal.SessionImpl.managedFlush (SessionImpl.java:404) em org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit (JdbcTransaction.java:101) em org.hibernate.engine. transaction.spi.AbstractTransactionImpl.commit (AbstractTransactionImpl.java:175) at test.main (test.java:84) Causado por: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Não é possível excluir ou atualizar uma linha pai: uma estrangeira restrição de chave falha (forum.post_tbl, RESTRIÇÃOFK_bfbv5nknqj7ppd5630scimhtb CHAVE ESTRANGEIRA (ThreadID_thread_id) REFERÊNCIASthread_tbl (thread_id)) HibernateException: não foi possível executar a instrução em sun.reflect.NativeConstructorAccessorImpl.newInstance0 (método nativo) em sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) em sun.reflectorcessMonitor.List em java.lang.reflect.Constructor.newInstance (Constructor.java:408) em com.mysql.jdbc.Util.handleNewInstance (Util.java:411) em com.mysql.jdbc.Util.getInstance (Util.java:386 ) em com.mysql.jdbc.SQLError.createSQLException (SQLError.java:1040) em com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:4120) em com.mysql.jdbc.MysqlIO.checkava: 4052) em com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:2503) em com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:2664) em com.mysql.jdbc.ConnectionImpl.execSQLj (ConnectionImpl.execSQL) : 2794) em com.mysql.jdbc.PreparedStatement.executeInternal (PreparedStatement.java:2155) em com.mysql.jdbc.PreparedStatement.executeUpda te (PreparedStatement.java:2458) em com.mysql.jdbc.PreparedStatement.executeUpdate (PreparedStatement.java:2375) em com.mysql.jdbc.PreparedStatement.executeUpdate (PreparedStatement.java:2359) em org. .internal.ResultSetReturnImpl.executeUpdate (ResultSetReturnImpl.java:133) ... 14 mais CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

Por favor, ajude-me a encontrar uma maneira de sair disso.