java – 来自同一个表注释的两个外键的Hibernate
发布时间:2020-12-11 23:47:28 所属栏目:MySql教程 来源:网络整理
导读:我正在尝试设计一个酒店应用程序.我有两个表作为用户和请求.用户可以是主持人或访客,可以向对方发送主持人请求.但是没有必要将用户定义为访问者或主机,这对系统来说无关紧要,因此我没有单独的表格.这种差异在Request表中非常重要,需要将visitor_id和host_id
我正在尝试设计一个酒店应用程序.我有两个表作为用户和请求.用户可以是主持人或访客,可以向对方发送主持人请求.但是没有必要将用户定义为访问者或主机,这对系统来说无关紧要,因此我没有单独的表格.这种差异在Request表中非常重要,需要将visitor_id和host_id保持为外键(使用User表中的user_id主键列映射,因为主机和访问者都是User). 我的问题是如何在Hibernate中使用Annotation定义这种关系?我的意思是,Request表中应该有两个外键,它们被映射到User表中的* user_id *主键列.每个用户可以多次成为主持人或访问者,并且不会发出任何请求.
最佳答案
请求是针对主机的,也是来自访问者的,因此您只需要从请求到用户的2个ManyToOne关联:
如果您想使这些关联成为双向的,那么您只需要在用户中使用相应的集合:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MYSQL教程千万级记录的Discuz论坛导致MySQL CPU 100%的优化
- Mysql必读CentOS 7下使用rpm包安装mysql 5.7.18
- Mysql学习Mysql的longblob字段插入数据问题解决
- mysql – 为公众提供在数据库上运行SELECT查询的方法有多危
- MYSQL教程Mysql select in 按id排序实现方法
- MYSQL数据库MySQL server has gone away错误提示解决方法
- Mysql学习浅谈mysql中concat函数,mysql在字段前/后增加字符
- MySQL – 有没有办法在没有脚本的情况下将bin日志位置包含
- MYSQL数据库Mysql中文乱码问题的最佳解决方法
- MySQL分组查询并统计大于某值的sql语句