组合属性的表关联在@Entity中如何实现

[复制链接]
查看11 | 回复6 | 2021-1-27 07:03:57 | 显示全部楼层 |阅读模式
A表有(id,type,bill_id,title),B表有(id,title),C表有(id,title),其中A表中的数据当type=1时和B表关联,type=2时和C表关联,都是1对1。
现在想在Entity映射中关联A表,这样查询B表或者C表的时候能自动把A表中的信息关联查询出来。请问这个关联关系要怎么写?
曾试过在B表中增加一个计算字段用sql查询语句获取A表中的对应的字段值,但是在Entity好像不能使用查询语句或者我写错了。
请大侠指点
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:03:57 | 显示全部楼层
为什么不把B表和C表合并成一个表?
回复

使用道具 举报

千问 | 2021-1-27 07:03:57 | 显示全部楼层
将bc表对应的实体放到a表对应实体中,然后级联查询就行用的mybatis
回复

使用道具 举报

千问 | 2021-1-27 07:03:57 | 显示全部楼层
引用1楼dong_19890208的回复:为什么不把B表和C表合并成一个表?
B表和C表里实际的字段还是不一样的,我省略了
回复

使用道具 举报

千问 | 2021-1-27 07:03:57 | 显示全部楼层
引用2楼li9098的回复:将bc表对应的实体放到a表对应实体中,然后级联查询就行用的mybatis
在springbootEntity中怎么实现,能写下具体的代码吗?
回复

使用道具 举报

千问 | 2021-1-27 07:03:57 | 显示全部楼层
引用4楼long83的回复:Quote: 引用1楼dong_19890208的回复:
为什么不把B表和C表合并成一个表?

B表和C表里实际的字段还是不一样的,我省略了
那就再A中分别加上B和C的外键关联,按照mybatis的外键查询分别查就可以了,如果id为空查出来的内容也就是
回复

使用道具 举报

千问 | 2021-1-27 07:03:57 | 显示全部楼层
方法一:sql语句中有做判断的方式ifendif自己去查一查
方法二:交给java做判断,决定调用那个sql语句来做
方法三:和方法二类似,不过是多传入一个参数,表名称tab,用sql拼接表名,主表join${tab}on主表=${tab}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行