[英]When the model in hibernate need Serializable?
I have two model: 我有两个模型:
@Entity
public class Invoice {
@Id
@Column(name="InvoiceID")
private String InvoiceID;
@Column(name="Date")
private Date Date;
@Column(name="TotalPrice")
private int TotalPrice;
...
}
@Entity
public class Product {
@Id
private String ProductID;
@Column(name="ProductName")
private String ProductName;
@Column(name="Quantity")
private int Quantity;
@Column(name="Price")
private int Price;
...
}
And I have a join model 我有一个加入模型
@Entity
public class InvoiceDetail implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@ManyToOne
@JoinColumn(name="InvoiceID")
private Invoice Invoice;
@Id
@ManyToOne
@JoinColumn(name="ProductID")
private Product Product;
...
}
In InvoiceDetail, if i dont implement Serializable, i will get Caused by: org.hibernate.MappingException: Composite-id class must implement Serializable: com.javainsimpleway.model.InvoiceDetail 在InvoiceDetail中,如果我不实现Serializable,我将得到原因:org.hibernate.MappingException:Composite-id类必须实现Serializable:com.javainsimpleway.model.InvoiceDetail
But in Invoice and Product model, i dont need to do that. 但是在发票和产品模型中,我不需要这样做。 Any one can explain me about that!
任何人都可以向我解释!
The id
of an entity must be Serializable
. 实体的
id
必须是Serializable
。 Your String
ids in Invoice
and Product
are both Serializable
. 您在
Invoice
和Product
中的String
ID均可Serializable
。 Since you are (IMHO mis-)using Invoice
as id
in InvoiceDetail
it also needs to be Serializable
由于您(恕我直言误用)
InvoiceDetail
Invoice
作为id
,因此还需要可Serializable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.