预先抓取,外连接,和直接查询三者直接的区别

预先抓取,外连接,和直接查询三者直接的区别:
[1]. 预先抓取和外连接的字段上必须设置好映射关系。
[2]. 预先抓取和立即检索的效果一致,即直接的“from 类”语句,只不过预先抓取可以减少SQL语句的条数。
[3]. 预先抓取的关键字是join fetch,而外连接的关键字只有join。
[4]. 预先抓取将初始化代理对象的引用,把对象的数据填充完毕,即:list的时候返回的是对象的类;但是外连接仅把对象组装好,而不会初始化对象之间的引用关系,即:list的时候返回的是Object数组对象,Object[0]是该类,Object[1]是关联类的内容。
[5]. HQL直接查询(from 类)将忽略配置文件的预先抓取策略。
------------------------------------------------------------------
问:
sess.createQuery("from Cats").list

sess.createSQLQuery("from Cats").addEntity(Cats.class)
2个有什么区别,哪种好些?
我是这么认为的,第一种不说了,第二种可以适合这种场景:有2个项目,分别对应一个数据库中的2个用户,A项目要用到B项目中的一个表,该表在B项目中有对应的entity,这时,在A项目中可以用SQL查询B项目中的表,然后.addEntity(Cats.class)
这样的话,可以不要需要A项目中的表与B中的表同步,这么理解,对不对?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值