我在netbeans上创建了一个maven项目。在mySql程序中定义表之后,我正在尝试使用Netbeans IDE从数据库生成实体类。
问题是我有一个表Cage和一个表Animal和我认为它是一对一的关系,但是当我生成实体时,IDE将它作为一对多的关系(与anotattions)。
我认为数据库中的表格创建得很好 我究竟做错了什么?我该如何解决这个问题?
答案 0 :(得分:1)
有三种情况,数据库架构逆向工程工具将使用@OneToOne
:
关联实体共享相同的主键值
外键由其中一个实体持有,数据库中的此FK列具有唯一约束,以模拟一对一的多重性
关联表用于存储2个实体之间的链接(必须在每个FK上定义唯一约束以确保一对一的多重性)。
如果您的表格没有上述特征之一,则会使用@OneToMany
。
查看this教程以获取更多详细信息(即上述三个案例的来源)