2017-10-10 13 views
2

上の複数のエンティティのコンテンツを削除する前に、私は次のような問題の解決策を見つけることができません:以下の関係を持つJPA:いくつかの日以来カスケード

- Wording 
- Language 
- Category 
- Example 

私のアプリケーションは、エンティティが含まれています

Wording 1 ------->------- 1 Language 

Wording 1 ------->------- 1 Category 

Category 1 ------>--------1 Language 

Wording 1 ------->--------* Example 

私の目標は、言語を削除することです、その結果、残りのエンティティはカスケードで削除されます。例えば 、私は言語「英語」を削除した場合、すべてのカテゴリと削除すべき文言、そしてまたにリンクされているがを文言。

私のDerbyデータベース(メモリ内)でSQLスキーマを手動で実行すると、すべての外部キーで「ON DELETE CASCADE」のみを設定します。そして、私が実行します。

DELETE FROM Language WHERE name = 'English'; 

しかし、私は私の@Entitiesを設定するときに私が間違っているの何か、それは例に関する問題を返すため。 言葉遣いがそうでなければ、私はエラーを受け取り、その後、削除は魅力のように動作しますが、何の例が含まれていない場合:

org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement 

さらに詳しい情報:

@Entity 
@Table (name = "Wording") 
public class Wording implements Serializable { 
(...) 
    private long wordingId; 
    private Language language; 
    private Category category; 
    private Set <Example> examples = new HashSet<>(); 
(...) 

    @Id 
    @Column(name = "wordingId", unique = true, nullable = false) 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    public long getWordingId() { 
     return wordingId; 
    } 

    @ManyToOne 
    @Access(AccessType.PROPERTY) 
    @OnDelete(action = OnDeleteAction.CASCADE) 
    @JoinColumn(name = "languageId", nullable = false) 
    public Language getLanguage() { 
     return language; 
    } 

    @ManyToOne 
    @Access(AccessType.PROPERTY) 
    @OnDelete(action = OnDeleteAction.CASCADE) 
    @JoinColumn(name = "categoryId", nullable = false)  
    public Category getCategory() { 
     return category; 
    } 
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true) 
    @OnDelete(action = OnDeleteAction.CASCADE)  
    @JoinColumn(name = "wordingId") 
    public Set<Example> getExamples() { 
     return examples; 
    } 
(...) 

したがって、私の質問は:この設定が再現しないのはなぜ前回と同じSQLスキーマ、手動、そして動作しますか?

ありがとうございます! ;-)

EDIT:

スタックの一部下: (すべての言語を削除するときにそれが起こる)

2017-10-10 17:56:52.421 DEBUG 6120 --- [ main] org.hibernate.SQL : select examples0_.wording_id as wording_6_1_0_, examples0_.example_id as example_1_1_0_, examples0_.example_id as example_1_1_1_, examples0_.created_on as created_2_1_1_, examples0_.enable as enable3_1_1_, examples0_.example as example4_1_1_, examples0_.modified_on as modified5_1_1_ from example examples0_ where examples0_.wording_id=? Hibernate: select examples0_.wording_id as wording_6_1_0_, examples0_.example_id as example_1_1_0_, examples0_.example_id as example_1_1_1_, examples0_.created_on as created_2_1_1_, examples0_.enable as enable3_1_1_, examples0_.example as example4_1_1_, examples0_.modified_on as modified5_1_1_ from example examples0_ where examples0_.wording_id=? 2017-10-10 17:56:52.427 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [1] 2017-10-10 17:56:52.444 DEBUG 6120 --- [
main] org.hibernate.SQL : select language0_.language_id as language1_2_, language0_.created_on as created_2_2_, language0_.enable as enable3_2_, language0_.flag as flag4_2_, language0_.language as language5_2_, language0_.modified_on as modified6_2_ from languagge language0_ Hibernate: select language0_.language_id as language1_2_, language0_.created_on as created_2_2_, language0_.enable as enable3_2_, language0_.flag as flag4_2_, language0_.language as language5_2_, language0_.modified_on as modified6_2_ from languagge language0_ 2017-10-10 17:56:52.456 DEBUG 6120 --- [ main] org.hibernate.SQL
: delete from languagge where language_id=? Hibernate: delete from languagge where language_id=? 2017-10-10 17:56:52.473 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [1] 2017-10-10 17:56:52.505 DEBUG 6120 --- [
main] org.hibernate.SQL : insert into languagge (language_id, created_on, enable, flag, language, modified_on) values (default, ?, ?, ?, ?, ?) Hibernate: insert into languagge (language_id, created_on, enable, flag, language, modified_on) values (default, ?, ?, ?, ?, ?) 2017-10-10 17:56:52.505 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.506 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [SMALLINT] - [true] 2017-10-10 17:56:52.506 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [VARBINARY] - [null] 2017-10-10 17:56:52.506 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [VARCHAR] - [English] 2017-10-10 17:56:52.506 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [5] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.507 DEBUG 6120 --- [ main] org.hibernate.SQL
: values identity_val_local() Hibernate: values identity_val_local() 2017-10-10 17:56:52.509 DEBUG 6120 --- [ main] org.hibernate.SQL : insert into category (category_id, category, created_on, enable, language_id, modified_on) values (default, ?, ?, ?, ?, ?) Hibernate: insert into category (category_id, category, created_on, enable, language_id, modified_on) values (default, ?, ?, ?, ?, ?) 2017-10-10 17:56:52.510 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARCHAR] - [myCategory] 2017-10-10 17:56:52.510 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder
: binding parameter [2] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.510 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [SMALLINT] - [true] 2017-10-10 17:56:52.511 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [BIGINT] - [2] 2017-10-10 17:56:52.511 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [5] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.511 DEBUG 6120 --- [ main] org.hibernate.SQL
: values identity_val_local() Hibernate: values identity_val_local() 2017-10-10 17:56:52.551 DEBUG 6120 --- [ main] org.hibernate.SQL : insert into wording (wording_id, category_id, created_on, image, language_id, modified_on, wording) values (default, ?, ?, ?, ?, ?, ?) Hibernate: insert into wording (wording_id, category_id, created_on, image, language_id, modified_on, wording) values (default, ?, ?, ?, ?, ?, ?) 2017-10-10 17:56:52.552 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [2] 2017-10-10 17:56:52.552 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.552 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [BLOB] - [[[email protected]] 2017-10-10 17:56:52.552 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [BIGINT] - [2] 2017-10-10 17:56:52.553 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [5] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.553 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [6] as [VARCHAR] - [MyWording] 2017-10-10 17:56:52.554 DEBUG 6120 --- [
main] org.hibernate.SQL : values identity_val_local() Hibernate: values identity_val_local() 2017-10-10 17:56:52.555 DEBUG 6120 --- [ main] org.hibernate.SQL
: insert into example (example_id, created_on, enable, example, modified_on) values (default, ?, ?, ?, ?) Hibernate: insert into example (example_id, created_on, enable, example, modified_on) values (default, ?, ?, ?, ?) 2017-10-10 17:56:52.559 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.559 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [SMALLINT] - [true] 2017-10-10 17:56:52.559 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [VARCHAR] - [myExample] 2017-10-10 17:56:52.560 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.561 DEBUG 6120 --- [ main] org.hibernate.SQL
: values identity_val_local() Hibernate: values identity_val_local() 2017-10-10 17:56:52.562 DEBUG 6120 --- [ main] org.hibernate.SQL : insert into example (example_id, created_on, enable, example, modified_on) values (default, ?, ?, ?, ?) Hibernate: insert into example (example_id, created_on, enable, example, modified_on) values (default, ?, ?, ?, ?) 2017-10-10 17:56:52.562 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.562 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder
: binding parameter [2] as [SMALLINT] - [true] 2017-10-10 17:56:52.563 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder
: binding parameter [3] as [VARCHAR] - [myAnotherExample] 2017-10-10 17:56:52.563 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [TIMESTAMP] - [Tue Oct 10 17:56:52 CEST 2017] 2017-10-10 17:56:52.564 DEBUG 6120 --- [ main] org.hibernate.SQL
: values identity_val_local() Hibernate: values identity_val_local() 2017-10-10 17:56:52.566 DEBUG 6120 --- [ main] org.hibernate.SQL : update example set wording_id=? where example_id=? Hibernate: update example set wording_id=? where example_id=? 2017-10-10 17:56:52.572 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [2] 2017-10-10 17:56:52.573 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [BIGINT] - [1] 2017-10-10 17:56:52.575 DEBUG 6120 --- [ main] org.hibernate.SQL : update example set wording_id=? where example_id=? Hibernate: update example set wording_id=? where example_id=? 2017-10-10 17:56:52.576 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [2] 2017-10-10 17:56:52.576 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [BIGINT] - [2] 2017-10-10 17:56:52.592 DEBUG 6120 --- [ main] org.hibernate.SQL : select wording0_.wording_id as wording_1_4_0_, wording0_.category_id as category6_4_0_, wording0_.created_on as created_2_4_0_, wording0_.image as image3_4_0_, wording0_.language_id as language7_4_0_, wording0_.modified_on as modified4_4_0_, wording0_.wording as wording5_4_0_, category1_.category_id as category1_0_1_, category1_.category as category2_0_1_, category1_.created_on as created_3_0_1_, category1_.enable as enable4_0_1_, category1_.language_id as language6_0_1_, category1_.modified_on as modified5_0_1_, language2_.language_id as language1_2_2_, language2_.created_on as created_2_2_2_, language2_.enable as enable3_2_2_, language2_.flag as flag4_2_2_, language2_.language as language5_2_2_, language2_.modified_on as modified6_2_2_, examples3_.wording_id as wording_6_1_3_, examples3_.example_id as example_1_1_3_, examples3_.example_id as example_1_1_4_, examples3_.created_on as created_2_1_4_, examples3_.enable as enable3_1_4_, examples3_.example as example4_1_4_, examples3_.modified_on as modified5_1_4_, language4_.language_id as language1_2_5_, language4_.created_on as created_2_2_5_, language4_.enable as enable3_2_5_, language4_.flag as flag4_2_5_, language4_.language as language5_2_5_, language4_.modified_on as modified6_2_5_ from wording wording0_ inner join category category1_ on wording0_.category_id=category1_.category_id inner join languagge language2_ on category1_.language_id=language2_.language_id left outer join example examples3_ on wording0_.wording_id=examples3_.wording_id left outer join languagge language4_ on wording0_.language_id=language4_.language_id where wording0_.wording_id=? Hibernate: select wording0_.wording_id as wording_1_4_0_, wording0_.category_id as category6_4_0_, wording0_.created_on as created_2_4_0_, wording0_.image as image3_4_0_, wording0_.language_id as language7_4_0_, wording0_.modified_on as modified4_4_0_, wording0_.wording as wording5_4_0_, category1_.category_id as category1_0_1_, category1_.category as category2_0_1_, category1_.created_on as created_3_0_1_, category1_.enable as enable4_0_1_, category1_.language_id as language6_0_1_, category1_.modified_on as modified5_0_1_, language2_.language_id as language1_2_2_, language2_.created_on as created_2_2_2_, language2_.enable as enable3_2_2_, language2_.flag as flag4_2_2_, language2_.language as language5_2_2_, language2_.modified_on as modified6_2_2_, examples3_.wording_id as wording_6_1_3_, examples3_.example_id as example_1_1_3_, examples3_.example_id as example_1_1_4_, examples3_.created_on as created_2_1_4_, examples3_.enable as enable3_1_4_, examples3_.example as example4_1_4_, examples3_.modified_on as modified5_1_4_, language4_.language_id as language1_2_5_, language4_.created_on as created_2_2_5_, language4_.enable as enable3_2_5_, language4_.flag as flag4_2_5_, language4_.language as language5_2_5_, language4_.modified_on as modified6_2_5_ from wording wording0_ inner join category category1_ on wording0_.category_id=category1_.category_id inner join languagge language2_ on category1_.language_id=language2_.language_id left outer join example examples3_ on wording0_.wording_id=examples3_.wording_id left outer join languagge language4_ on wording0_.language_id=language4_.language_id where wording0_.wording_id=? 2017-10-10 17:56:52.604 TRACE 6120 --- [
main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [2] 2017-10-10 17:56:52.633 DEBUG 6120 --- [
main] org.hibernate.SQL : select language0_.language_id as language1_2_, language0_.created_on as created_2_2_, language0_.enable as enable3_2_, language0_.flag as flag4_2_, language0_.language as language5_2_, language0_.modified_on as modified6_2_ from languagge language0_ Hibernate: select language0_.language_id as language1_2_, language0_.created_on as created_2_2_, language0_.enable as enable3_2_, language0_.flag as flag4_2_, language0_.language as language5_2_, language0_.modified_on as modified6_2_ from languagge language0_ 2017-10-10 17:56:52.634 DEBUG 6120 --- [ main] org.hibernate.SQL
: delete from languagge where language_id=? Hibernate: delete from languagge where language_id=? 2017-10-10 17:56:52.634 TRACE 6120 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [2] 2017-10-10 17:56:52.649 WARN 6120 --- [
main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 20000, SQLState: 23503 2017-10-10 17:56:52.650 ERROR 6120 --- [
main] o.h.engine.jdbc.spi.SqlExceptionHelper : DELETE on table 'WORDING' caused a violation of foreign key constraint 'FK_WORDING' for key (2). The statement has been rolled back. 2017-10-10 17:56:52.651 INFO 6120 --- [ main] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements Tests run: 4, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 9.076 sec <<< FAILURE! - in com.mycompany.languages.model.dao.WordingDAOTest testDeleteAfterDeletingLanguage(com.mycompany.languages.model.dao.WordingDAOTest) Time elapsed: 0.06 sec <<< ERROR! org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown Source) at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source) at org.apache.derby.impl.sql.execute.DeleteResultSet.runFkChecker(Unknown Source) at org.apache.derby.impl.sql.execute.DeleteCascadeResultSet.runFkChecker(Unknown Source) at org.apache.derby.impl.sql.execute.DeleteCascadeResultSet.runFkChecker(Unknown Source) at org.apache.derby.impl.sql.execute.DeleteCascadeResultSet.runFkChecker(Unknown Source) at org.apache.derby.impl.sql.execute.DeleteCascadeResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114) at com.sun.proxy.$Proxy104.executeUpdate(Unknown Source) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3261) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3498) at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:98) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:582) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:456) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1282) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:465) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2963) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2339) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:147) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:231) at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65) at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:61) at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:517) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:504) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy96.deleteAll(Unknown Source) at com.mycompany.languages.model.dao.WordingDAOTest.setUp(WordingDAOTest.java:222)

2017-10-10 17:56:52.694 INFO 6120 --- [ Thread-4] s.c.a.AnnotationConfigApplicationContext : Closing org.spring[email protected]865dd6: startup date [Tue Oct 10 17:56:44 CEST 2017]; root of context hierarchy 2017-10-10 17:56:52.698 INFO 6120 --- [ Thread-4] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

結果:エラーで

テスト: WordingDAOTest.setUp: 222»DataIntegrityViolationがステートメントを実行できませんでした...

答えて

1

削除しようとしているためこのエラーが発生しましたお返事のための

@ManyToOne 
    @Access(AccessType.PROPERTY) 
    @OnDelete(action = OnDeleteAction.CASCADE) 
    @JoinColumn(name = "languageId", nullable = true) 
    public Language getLanguage() { 
     return language; 
    } 
+0

おかげで、それは問題を解決しない:languageができることを受け入れないWordingWordingで使用されるいくつかのlanguagesnullので、代わりに使用するようにしてください。問題は、使用可能な例を示す文言がある場合に発生します。それらがなければ、それはいつも働いた! –

+0

取得したスタックをすべて投稿できますか? –

+0

はい、今投稿しました –

関連する問題