2017-10-11 3 views
1

私はエンティティを持っています。ユーザーは、 エンティティプロダクトのフィールドを含むエンティティアクタのあるフィールドを含んでいます。 これで、データベースのUserが、@ JoinColumを使用してActorに格納されている製品IDに関する情報をProductに追加します。より良好な浄化のため 、いくつかのコード:それはコラム「PRODUCT_ID」と「ACTOR_ID」および「PRODUCT_ID」とテーブル「俳優」とテーブル「ユーザー」を作成し、データベースにおいて他の結合から作成された列のJoinColumn

@Entity 
    public class User { 
     @ManyToOne 
     @JoinColumns(value = {@JoinColumn(name = "actor_id", referencedColumnName = "id"), 
       @JoinColumn(name = "product_id", referencedColumnName = "product_id")}) 
     private Actor actor; 

    public Actor getActor() { 
     return actor; 
    } 

    public void setActor(Actor actor) { 
     this.actor = actor; 
    } 
    } 

    @Entity 
    public class Actor { 
     @ManyToOne 
     @JoinColumn(name = "product_id") 
     private Product product; 
    } 

俳優_ $$ _ jvst485_0はどれにjava.io.Serializable

にキャストすることはできません:春データリポジトリのuserRepository.findAll()私はClassCastExceptionが発生し、次のメッセージで終わる方法が使用

どのようにそれを修正するアイデア?

+0

を参照してください。 – akuma8

答えて

1

デタッチされたオブジェクトを渡す場合は、すべてのエンティティにSerializableインターフェイスを実装する必要があります。これは、JSR 220によって指定されています。詳細は、this answer

関連する問題