database - 您将使用@OneToOne 关系的具体示例?

标签 database database-design jpa orm

This answer解释了 @ManyToOne@OneToOne 之间的功能差异。不过,我还是不明白 - 你什么时候会选择使用 @OneToOne

如果我理解正确,这意味着表 X 中的每个对象都映射到(至多)表 Y 中的一个对象,并且没有两个 X 映射到同一个 Y。

适当的用例是可选属性吗?例如。 Car <--> Trunk,有些车有后备箱,有后备箱就是他们的了(没有车就谈后备箱是没有意义的)?

最佳答案

继承映射是数据库中一对一关系的理想选择。

假设您有一个“人员”表来存储在公司工作的人员,但人员可以是雇员或承包商。在那种情况下,您可以将所有公共(public)属性存储在 Person 表中。例如:

  • 姓名
  • 地址
  • 出生日期
  • ...

然后定义与“Employee”和“Contractor”表的一对一关系:

员工:

  • 工资单编号
  • 工资
  • ...

承包商:

  • 每日费率
  • 契约(Contract)号
  • ...

关于database - 您将使用@OneToOne 关系的具体示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522181/

相关文章:

php - php中的mysql错误

sql-server - 你的 Nvarchar() 有多大?

c# - 在数据库级别授权数据访问

java - Spring data jpa-没有定义名为 'entityManagerFactory'的bean;注入(inject) Autowiring 的依赖项失败

java - 持久性单元为 RESOURCE_LOCAL 还是 JTA?

java.lang.ClassNotFoundException org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider

c# - 删除表中的特定条目

c# - NHibernate:仅加载基类对象

mysql - 为公众提供一种在数据库上运行 SELECT 查询的方法有多危险?

sql - 数据库设计中的多对多关系