0
我有一个场景,休眠类中的Embeddable
类使用Entity
。根据我在SO和其他链接上找到的各种答案,我们可以在Embeddable
类中写入@ManyToOne, @OneToMany
。嵌入式内部多对一关系,休眠
但是这样做让我HibernateMappingExeption
请看下面的例子: 我有两个实体和一个可嵌入类如下:
实体A
@Entity
@Table(name = "A")
public class A {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int a_id;
@ElementCollection
@JoinTable(name = "embeded_class_table", joinColumns = @JoinColumn(name = "a_id"))
private List<EmbeddedClass> embeddedClass;
实体B
@Entity
@Table(name = "B")
public class B {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int b_id;
嵌入类,它使用实体B
@Embeddable
public class EmbeddableClass {
@ManyToOne
@JoinColumn(name = "b_id")
private B b;
我得到的错误是为下:
org.hibernate.MappingException: Could not determine type for: app.model.B, at table: embeded_class_table, for columns: [org.hibernate.mapping.Column(b)]
任何人都可以请建议,如果我正确,如果是使用这些东西,我错过了什么?
这个没有工作,我认为这个问题是关系'EnbeddableClass'和'Entity B',例外说:'不能确定类型为:app.model.B,在表:embeded_class_table,列:[org.hibernate.mapping.Column(b)]' – OutOfMind
I已经改变了我的答案。你能看出你是否遵循了同样的事情? –
这个工程!谢谢。但是为什么我们需要添加'(cascade = CascadeType.ALL)',我不明白这个 – OutOfMind