谁能给解释下hibernate这条简单的hql语句

不若人生一场醉 2017-09-17 02:12:51
from t2 a where a.t1 = 1

上面这语句就是个示例,应该能表明我的意思,t1和t2是两个表的实体类,t1包含id字段,t2包含tid字段,是个one-one的映射,t2的实体类里面包含t1这个域映射到t1实体类,按照正常理解语句应该是这样的

from t2 a where a.t2.tid = 1

a.t2.tid = 1这个我理解,直接a.t1 = 1这我就不理解了,a.t1是个实体类的对象直接和常量比较?刚接触hibernate,不是很理解
...全文
202 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
上面最后打错了,是和a.t1.id = 1等效的
  • 打赏
  • 举报
回复
是hql,写代码明白点,意思就是

public class T1//t1是某表的实体类
{
  private int id;
  //省略setter getter
}

public class T2//t2是某表的实体类
{
  private int tid;
  private T1 t1;//这个ti域是个one-to-one映射,通过tid与T1的id对应
  //省略setter getter
}

String hqlText = "from T2 a where a.t1 = 1";
//就是这里,a.t1是个对象,怎么能与常量1比较?但实际上是没有问题的,可以查询结果正确,
//和a.t1.tid = 1是等效的,这是为什么?
你好sun悟空 2017-09-17
  • 打赏
  • 举报
回复
这是hql语句吧,调用 t2里面的t1属性

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧