簡體   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