繁体   English   中英

使用休眠保存嵌套的POJO类对象

[英]Save Nested POJO class Objects using hibernate

1类:

int field2
Class2 field1

等级2:

Class3 field3

CLASS3:

String field4
String field5

Class1域类:

@Table(name = "class1_details")
@Entity
public 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。 我得到以下异常:

org.springframework.orm.jpa.JpaSystemException:无法序列化; 嵌套的异常是org.hibernate.type.SerializationException:无法序列化...

由以下原因引起:org.hibernate.type.SerializationException:无法序列化...。

引起原因:java.io.NotSerializableException:com.model.Class3 ...

尝试了@ElementCollection但没有用。 请帮忙。

您应该使嵌套类@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)
);

另一个有趣的方法是将嵌套类作为JSON存储在数据库中,请参阅我的相关答案 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM