休眠:@嵌入式注解技术与@OneToOne注记技术的区别

2022-09-02 12:35:14

@Embedded注释技术和@OneToOne注释技术有什么区别,因为在嵌入式中,java类在类中包含“Has a”关系,并且在@Embedded注释的帮助下,我们将有一个对象保存在数据库中。在一对一关系中,我们还在数据库中保留了一个对象。


答案 1

@OneToOne用于映射与一对一关系相关的两个数据库表。例如,客户可能始终在名称表中有一条记录。

或者,如果这些名称字段位于 Customer 表(而不是单独的表中),则可能需要@embedded。从表面上看,您只需将名称字段作为标准属性添加到 Customer 实体中,但如果这些相同的列出现在多个表上(例如,您可能在 Supplier 表上有名称列),则可能会很有用。


答案 2

它是组成和聚合之间的差异。@Embedded对象始终在其父对象的生命周期内进行管理。如果父项已更新或删除,则它们也会被更新或删除。@OneToOne对象可以通过其@Join注释的级联类型选项来模拟组合,但默认情况下它们是聚合的,即它们的生命周期与其父对象的生命周期是分开的。


推荐