根据书籍《Pro JPA 2》所述,@ManyToOne和@OneToOne之间的主要区别在于,在@OneToOne中:
问题是,当我在实体上创建这样的映射并让Hibernate创建模式时,根本没有创建唯一约束。为什么?因为对我来说,如果必须明确定义映射的唯一约束,则@ManyToOne和@OneToOne之间没有区别。我可以为它们两个都这样做,没有任何区别。这是正确的行为吗?只有源实体的一个实例可以引用同一个目标实体实例。 换句话说,目标实体实例不会在源实体实例之间共享。在数据库中,这意味着在源实体表中具有唯一性约束的源外键列(即源外键列)。