使用Hibernate的CommandLineRunner和Springboot问题 - 无法初始化代理会话 - 没有会话

时间:2016-11-30 05:00:35

标签: java spring hibernate web-services soap

我使用以下博客在spring-boot中创建了一个Soap服务 https://www.javacodegeeks.com/2016/07/writing-consuming-soap-webservice-spring.html

Endpoint Publish Url

@Override
public void run(String... arg0) throws Exception {
    // TODO Auto-generated method stub      Endpoint.p
    Endpoint.publish("http://localhost:9000" +"/service/serve", new ServeWeb());

}

WebService类如下

@WebService
public class ServeWeb {

    @Autowired
    XyzService xyzService;


    @WebMethod(operationName="LOGIN")
    public List<String> userLogin(
            @WebParam(name = "uid")String uid, 
            @WebParam(name = "pwd")String pwd){ 

           System.out.println("uid == "+uid+"::::: pwd == "+pwd);
            List<String> userDetaillist =xyzService.userLogin(uid, pwd);
        return userDetaillist;
    }
}

在XyzService中我正在使用

@PersistenceContext
private EntityManager em;

我在控制台

上遇到异常
org.hibernate.LazyInitializationException: could not initialize proxy - no Session

问题在于CommandLinerRunner和Spring Boot实体管理器。任何人都可以告诉我如何通过命令行运行程序使用相同的实体管理器

1 个答案:

答案 0 :(得分:0)

我喜欢这个解决方案,我在XyzService上使用了Spring注释@Transactional,它对我有用。