我要在基类MovieEntity中添加电影,然后再添加一个继承自MovieOtherEnity的标题MovieInfoEntity类MovieInfoEntity
具有MovieEntity
的外键。 MovieEntity
具有从MovieInfoEntity
类继承的实体列表。
我有一个测试,其中每个测试后清除对象的基础。
/**
* Clean out the db after every test.
*/
@After
public void cleanup() {
this.contributionRepository.deleteAll();
this.messageRepository.deleteAll();
this.movieRepository.deleteAll(); // here he throws an exception
this.movieInfoRepository.deleteAll();
this.userRepository.deleteAll();
}
上面代码中标记的行被抛出
org.springframework.orm.ObjectRetrievalFailureException: Object [id=1] was not of the specified subclass [com.jonki.popcorn.core.jpa.entity.movie.MovieBoxOfficeEntity] : loaded object was of wrong class class com.jonki.popcorn.core.jpa.entity.movie.MovieOtherTitleEntity; nested exception is org.hibernate.WrongClassException: Object [id=1] was not of the specified subclass [com.jonki.popcorn.core.jpa.entity.movie.MovieBoxOfficeEntity] : loaded object was of wrong class class com.jonki.popcorn.core.jpa.entity.movie.MovieOtherTitleEntity
我将提到它测试了该方法,在该方法中我将Object MovieOtherTitle项目添加到MovieEntity对象的列表中。
最佳答案
确保在数据库中,您没有在Discriminator列中没有定义值的条目(可能是手动输入),或者该列中的值不是您任何实体的DiscriminatorValue。这只会影响检索,但不会影响保存。