類1:int field2Class2 field1類2:Class3 field3第3類:String field4String field5Class1 域類:@Table(name = "class1_details")@Entitypublic class Class1Details { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id") private long id; @Column(name = "class2_fields") private Class2 fields; // respective getters and setters}我正在使用 springboot。我正在為我的 repo 接口擴展 JPARepository。我想將 class1 保存在 db 中。我得到以下異常:org.springframework.orm.jpa.JpaSystemException: 無法序列化;嵌套異常是 org.hibernate.type.SerializationException: could not serialize ...引起:org.hibernate.type.SerializationException:無法序列化......引起:java.io.NotSerializableException:com.model.Class3 ...試過@ElementCollection 但沒有用。請幫忙解決這個問題。
1 回答
慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
您應該創建嵌套類@Embeddable:
@Entity
@Table(name = "my_entities")
public class MyEntity {
//...
private MyData data;
}
@Embeddable
public class MyData {
private String value;
}
然后Hibernate會處理下表:
create table my_entities (
-- MyEntity stuff
--
value varchar(255)
);
另一個有趣的方法是將 DB 中的嵌套類存儲為JSON,請參閱我的相關答案...
添加回答
舉報
0/150
提交
取消
