是否可以配置Hibernate注释以将组件类存储在单独的表中?
采用以下示例:
@Table(name = "A")
@Entity
public class A implements Serializable {
@Id
public String id;
@OneToMany
@JoinColumn(name="ENTITY_ID", insertable=false, updatable=false)
@NotFound(action=NotFoundAction.IGNORE)
private Set<ComponentObj> components;
....
}
对于组件表...
@Table(name = "C")
public class ComponentObj implements Serializable {
@JoinColumn(name="ENTITY_ID")
public String entity_Id;
....
}
当我开始使用上述注释执行单元测试时,我得到以下异常:
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: ComponentObj
我已将这两个类声明为带注释的类......
答案 0 :(得分:1)
我建议将ComponentObj作为一个真实实体,使用标识符,并简单地使用OneToMany关联。
可能会有组件的混合,但不是你尝试的方式。
@Embeddable
@ElementCollection
CollectionTable
注释指定要使用的表
the javadoc中提供了完整的示例。