我要在基类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。这只会影响检索,但不会影响保存。

09-11 09:26