如何获得正确的关系基数?

时间:2014-05-29 13:42:17

标签: java jpa

我在netbeans上创建了一个maven项目。在mySql程序中定义表之后,我正在尝试使用Netbeans IDE从数据库生成实体类。

问题是我有一个表Cage和一个表Animal和我认为它是一对一的关系,但是当我生成实体时,IDE将它作为一对多的关系(与anotattions)。

我认为数据库中的表格创建得很好 我究竟做错了什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

有三种情况,数据库架构逆向工程工具将使用@OneToOne

  1. 关联实体共享相同的主键值

  2. 外键由其中一个实体持有,数据库中的此FK列具有唯一约束,以模拟一对一的多重性

  3. 关联表用于存储2个实体之间的链接(必须在每个FK上定义唯一约束以确保一对一的多重性)。

  4. 如果您的表格没有上述特征之一,则会使用@OneToMany

    查看this教程以获取更多详细信息(即上述三个案例的来源)