我刚接触休眠,并被一些看起来非常简单的东西所困扰!
我有一个表格,用于定义联系人和一个视图,使联系人获得批准状态。
@Entity
@Table(name="contacts")
public class Contact implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String email;
@OneToOne(targetEntity = BooleanType.class)
@JoinTable(
name="contactstatus",
joinColumns = @JoinColumn(name="email")
)
private boolean approved;
...
}
我只想通过加入电子邮件主键上的视图来设置已批准的标记。
运行上面的内容给了我:
Initial SessionFactory Creation failed.org.hibernate.AnnotationException:
@OneToOne or @ManyToOne on ...Contact.approved references an unknown entity:
org.hibernate.type.BooleanType
我意识到我可以将联系和批准列合并到一个视图中,但是联系人的其他方面是可变的。
我还可以使Approved成为自定义类型,这实际上就是我如何解决这个问题。但是,我认为这不是必要的,以便完成上述工作。