Hibernate框架

表:A aId aName bName ;表:B bId bName bParentName各三个字段,关系:A多,B一  表关系:aid,bid分别为主键 采用bName作为逻辑外键(本人认为:它可以不是引用表的主键,所以可根本就不是外关键,)
由于hibernate配置映射是主键去关联的做不了映射。而表结构不是这样 ,接下来的关联查询怎么写呀,hibernate的关联查询是基于配置映射的,写本地sql,受不了了写关联查询时比jdbc还麻烦

Hibernate原生SQL查询

  最近在做一个较为复杂的查询,hibernate基本的查询不能满足,只好使用其提供的原生sql查询。参考网上的一些资料,做一些总结。

  对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。该接口是Query接口的子接口。  

   执行SQL查询步骤如下: 
         1、获取Hibernate Session对象 
         2、编写SQL语句 
         3、通过Session的createSQLQuery方法创建查询对象 
         4、调用SQLQuery对象的addScalar()或addEntity()方法将选出的结果与标量值或实体进行关联,分别用于进行标量查询或实体查询 
         5、如果SQL语句包含参数,调用Query的setXxxx方法为参数赋值 
         6、调用Query的list方法返回查询的结果集 

针对复杂业务SQL,hibernate能力不足,SQL不好优化和也无法分离

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值