1.ORM 多表关联生成的代码为什么不能执行?
SELECT t1.* FROM “SysPrivilegeResource” t1 Left JOIN “SysRolePrivilege” t2 ON ( “t1”.“PrivilegeResourceId” = “t2”.“PrivilegeResourceId” )
Left JOIN “SysUserRole” t3 ON ( “t2”.“RoleInfoId” = “t3”.“RoleInfoId” ) WHERE ( “t3”.“UserInfoId” = 1 )
2.以下SQL 为什么不能正常执行?
可以的,你的库是不是大小写敏感。创建表时加引号create table “SysPrivilegeResource”…系统里显示为 SysPrivilegeResource,查询时也需要加上双引号查询“SysPrivilegeResource”。若创建时不加双引号create table SysPrivilegeResource…,系统会默认加其转换为大小进行查询SysPrivilegeResource和SYSPRIVILEGERESOURCE这个都可以查询出来

–建表语句
CREATE TABLE “SYSDBA”.“SysPrivilegeResource”(“ID” CHAR(10)) ;
CREATE TABLE “SYSDBA”.“SysRolePrivilege”(“ID” CHAR(10)) ;
CREATE TABLE “SYSDBA”.“SysUserRole”(“ID” CHAR(10)) ;
–查询
SELECT t1.* FROM “SysPrivilegeResource” t1
Left JOIN “SysRolePrivilege” t2 ON ( t1.“ID” = t2.ID )
Left JOIN “SysUserRole” t3 ON ( t2.“ID” = t3.“ID” ) WHERE ( t3.“ID” = 1 )