在Hibernate中,实体的内部类没有默认构造函数。
- 论坛
- 在Hibernate中,实体的内部类没有默认构造函数。
11 浏览
在Hibernate中,实体的内部类没有默认构造函数。
我有两个类。一个是实体类,另一个作为复合键类。
代码如下:
@Entity public class Supply { @Embeddable static class Id implements Serializable { @Column(name = "supplier_id") private long supplierId; @Column(name = "merchandise_id") private long merchandiseId; public Id() { } public Id(long sId, long mId) { this.supplierId = sId; this.merchandiseId = mId; } } @EmbeddedId private Id id = new Id(); }
如果我尝试使用
from Supply where merchandise_id=%d and supplier_id=%d
Hibernate会抛出一个异常,即:
com.entity.Supply$Id没有默认构造函数;嵌套异常为org.hibernate.InstantiationException: com.entity.Supply$Id没有默认构造函数
然而,我发现如果我将类Id改为静态,一切都会正常。
我只是对这些事情是如何发生感到好奇。