rop 与 hibernate

jiandong2008 2013-01-27
废话不多 直接上码

@Autowired
	CustomerService customerSerivce;
	
	@ServiceMethod(method = "customer.get", version = "1.0", needInSession = NeedInSessionType.NO,ignoreSign=IgnoreSignType.YES)
	public Object getSession(RopRequest ropRequest) {
		
		Customer customer = customerSerivce.get(1680740966L);
		return customer;
	}


return 的时候 这里会报出
org.hibernate.LazyInitializationException: could not initialize proxy - no Session


customer 里面有很多延迟对象.

然后我看了源码
 public void run() {
    ....
                //输出响应
                writeResponse(ropRequestContext.getRopResponse(), servletResponse, ropRequestContext.getMessageFormat());


这样的话 当前请求线程分发到子线程.子线程没有hibernate的Session.
不知道 是对框架不理解.还是说本身有什么地方没有配置多.
想了下 只有在源码上 针对Hibernate 做个处理. run里面加个配置.
  if(useHibernateConfig){
      //to do
   }
   但愿起床的时候来个大佬 给点意见吧
Hibernate.initialize(customer); 除了这个...有其他的吗?
dingchao.lonton 2013-02-26
用一个treadlocal变量存放session
Global site tag (gtag.js) - Google Analytics