HQL - 内部连接 - 连接策略
HQL - Inner join - Joined strategy
Fish extends LivingBeings(为其生成的 getter 和 setter)
使用了联合策略 @Inheritance(strategy=InheritanceType.JOINED)
。 Table 结构形成 .
在 sql 中尝试了 inner join 并能够得到想要的结果(test 是数据库名称)
select test.fish.colString ,test.livingbeings.name
from test.livingbeings
inner join test.fish on test.fish.serialNo = test.livingbeings.serialNo;
使用 HQL createSQLQuery 它正在工作
SQLQuery query = session.createSQLQuery(
"select test.fish.colString , test.livingbeings.name from test.livingbeings " +
"inner join test.fish on livingbeings.serialNo = fish.serialNo");
当尝试使用 HQL createQuery 获取空指针异常时?
Query query= session.createQuery("select l.serialNo, f.colString
from LivingBeings l inner Join l.serialNo f");
假设您已经正确映射了您的实体,您可能需要这个。都是关于映射的。
Query query = session.createQuery(
"select f.serialNo, f.colString from Fish f");
由于 Fish 继承自 LivingBeings。
Fish extends LivingBeings(为其生成的 getter 和 setter)
使用了联合策略 @Inheritance(strategy=InheritanceType.JOINED)
。 Table 结构形成
在 sql 中尝试了 inner join 并能够得到想要的结果(test 是数据库名称)
select test.fish.colString ,test.livingbeings.name
from test.livingbeings
inner join test.fish on test.fish.serialNo = test.livingbeings.serialNo;
使用 HQL createSQLQuery 它正在工作
SQLQuery query = session.createSQLQuery(
"select test.fish.colString , test.livingbeings.name from test.livingbeings " +
"inner join test.fish on livingbeings.serialNo = fish.serialNo");
当尝试使用 HQL createQuery 获取空指针异常时?
Query query= session.createQuery("select l.serialNo, f.colString
from LivingBeings l inner Join l.serialNo f");
假设您已经正确映射了您的实体,您可能需要这个。都是关于映射的。
Query query = session.createQuery(
"select f.serialNo, f.colString from Fish f");
由于 Fish 继承自 LivingBeings。