类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 回答
![?](http://img1.sycdn.imooc.com/545847aa0001063202200220-100-100.jpg)
慕田峪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
提交
取消