Hibernate最近推出了提取配置文件(除了性能调优之外)是解决这类问题的理想选择.它允许您(在运行时)在不同的加载和初始化策略之间进行选择.

编辑(添加了关于如何使用拦截器设置抓取配置文件的部分):

开始之前:检查抓取的个人资料实际上是否适合您.我没有自己使用它们,看到他们目前仅限于加入提取.在浪费时间实施和接线拦截器之前,请尝试手动设置抓取配置文件,看到它实际上可以解决您的问题.

public class FetchProfileInterceptor implements MethodInterceptor {

private SessionFactory sessionFactory;

private String fetchProfile;

... setters ...

public Object invoke(MethodInvocation invocation) throws Throwable {

Session s = sessionFactory.openSession(); // The transaction interceptor has already opened the session,so this returns it.

s.enableFetchProfile(fetchProfile);

try {

return invocation.proceed();

} finally {

s.disableFetchProfile(fetchProfile);

}

}

}

如果您是AOP的新手,建议先尝试使用“旧”ProxyFactory方式(http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop-api .html#aop-api-proxying-intf),因为它更容易理解它是如何工作的.以下是一些示例XML,让您开始:

...

class="org.springframework.aop.framework.Proxyfactorybean">

existingTransactionInterceptorBeanName

fetchProfileInterceptor

java lazy loading_java – Spring,@Transactional和Hibernate Lazy Loading相关推荐

  1. FW: How to use Hibernate Lazy Fetch and Eager Fetch Type – Spring Boot + MySQL

    原帖 https://grokonez.com/hibernate/use-hibernate-lazy-fetch-eager-fetch-type-spring-boot-mysql In the ...

  2. hibernate lazy加载

    2019独角兽企业重金招聘Python工程师标准>>> HIBERNATE的持久化对象加载策略. 延迟加载, 也就是用到的时候才去加载.这样可以提高一些性能. Hibernate的l ...

  3. java spring hiberate_Java程序员:Spring Boot和Hibernate一起使用的技巧

    Hibernate不需要多介绍,它是Java中最受欢迎的ORM.同样,Spring Boot是功能最强大且易于使用的框架.本文并不是描述一些关于Hibernate或Spring Boot的用法,因为有 ...

  4. java集成hibernate_JavaWeb_(Spring框架)Spring整合Hibernate

    Dao层类要继承HibernateDaoSupport.java父类 原先使用Hibernate框架hibernate.cfg.xml配置数据库 com.mysql.jdbc.Driver jdbc: ...

  5. HIbernate Lazy 常用配置

    Lazy:延迟加载,在真正使用某个对象的时候才正真的去创建,即hibernate才会正真的发出sql语句去加载该对象 Lazy的有效期:只有在session打开的时候才有效:session关闭后laz ...

  6. hibernate lazy属性参数说明

    lazy,延迟加载 Lazy的有效期:只有在session打开的时候才有效:session关闭后lazy就没效了. lazy策略可以用在: * <class>标签上:可以取值true/fa ...

  7. How does Spring @Transactional Really Work?--转

    原文地址:http://blog.jhades.org/how-does-spring-transactional-really-work/ In this post we will do a dee ...

  8. Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例

    Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...

  9. Spring @Transactional (一)

    Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例 ...

最新文章

  1. 律师也要被AI抢“饭碗”了?网友:我还能做什么
  2. elk-nginx输出json格式的日志
  3. 开源使得所有的软件卖成白菜价,但终将普惠世界!
  4. Oracle的新建序列sequence
  5. python采集修改原创_python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改...
  6. CORS漏洞的利用方式(精)
  7. c语言编译时间,C语言中关于时间的函数
  8. MySQLzip压缩文件格式安装教程
  9. Redis Bitmap 位图
  10. python如何实时查询oracle_python针对Oracle常见查询操作实例分析
  11. java实现倒计时源码分享
  12. QuickHit游戏
  13. 关于Meminfo中MemAvailable 理解
  14. iphone手机 ios系统 无法更新app 跳转到AppStore 显示 打开
  15. “以图搜图”引擎及网站合集
  16. 计算机主机usb端口使用不了,解答电脑usb接口不能用怎么解决
  17. 如何在PHP中使用Modulo运算符
  18. 多元回归分析(线性回归)
  19. matlab图片白边_matlab绘图白边设定
  20. 如何下载吉林省卫星图高清版大图

热门文章

  1. redis setnx 过期时间_阿里面试官:你确定你用过 Redis 分布式锁吗?
  2. python打印星星居中_python中怎么打印星星
  3. python可以调试吗_调试-有什么好的方法可以使我的Python代码首次运行?
  4. 如何安装mysql5.7.9_安装mysql-5.7.9-winx64
  5. 多目标粒子群优化算法_基于粒子群优化的投资组合优化研究
  6. python2与python3在absolute import的区别
  7. Linux tar.gz、tar、bz2、zip的区别,如何选择呢
  8. 禁止vim生成 un~文件
  9. python中的urllib库_七、urllib库(一)
  10. C语言程序输入两行汉字,C语言多行输入问题集锦