数据库的关联查询的语句应该怎么写

image 例如这种

你这个例子里缺少e和d的关系,其他条件就看你业务上的需要了,多表查询首要就得把各个表之间的关系写在条件语句里。 例如查 班级 和 个人表,把他俩关联起来就需要 个人.班级.id = 班级.id

但是这样写就更不对了
image

这两个ID 是什么类型? 分别在数据库里 和 实体里是什么类型?

image 这种类型,实体当中并没有定义过

那你的e.dictbase_id 是什么类型?你用的是JPQL,那么字段需要写实体里面定义的名字。
你在edyj_dict表的实体定义里, dictbase_id 的类型是uuid?还是edyj_disctbase 类型?

另外edyj_dict 和edyj_disctbase是 实体名称吧? 在JPQL里应该用实体名称。

dictbase_id 是edyj_disctbase 类型
edyj_dict 是 项目名称_表名,这个生成界面的时候就是生成的这种形式

那要写 edyj_dict.dictbase_id = d , 不要d.id, 试试

image

发一下 Dict 这个实体的定义吧

image

试试 select e from edyj_Dict e where e.dictBase.dictname ='运行状态'

JPQL 不要用数据库定义列dictbase_id, 需要用实体属性 dictBase。

因为你在实体里明确定义了dictBase与Dict的关系,直接 e.dictBase.dictname 做判断就可以, 不需要手动关联了。