Fish扩展了LivingBeings(为此生成的getter和setter)
加入策略使用@Inheritance(strategy=InheritanceType.JOINED)
。表结构形成
在sql中尝试内部连接并能够获得所需的结果(测试是数据库名称)
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");
答案 0 :(得分:1)
假设您已正确映射您的实体,您可能需要这样做。这完全是关于映射的。
Query query = session.createQuery(
"select f.serialNo, f.colString from Fish f");
因为Fish继承自LivingBeings。