我在Java Web應用程序中有一個項目,計劃是將Glassfish的功能性輸出到PHP(nuSOAP)。Hibernate和Glassfish Lazyload
我在mySQL中創建了我的BD,所有表,關係,主鍵和外鍵。
之後,我打開我的NetBeans,新建項目 - > Java Web APP。
,我做的步驟是
首先創建Hibernate配置嚮導,然後,創建Hibernate逆向工程嚮導隨後Hibernate映射文件和數據庫的POJO的,並在年底的HibernateUtil(命名的連接)
我實體是:許多俱樂部之一許多球隊的一級球員許多球員
因此,現在我有我的所有實體在我的Java項目。並創建一個俱樂部的DAO:
public List<Club> listClubs(){
try{
session.beginTransaction();
List<Club> listClub = (List<Club>)session.createQuery("from Club").list();
session.getTransaction().commit();
session.close();
return listClub;
}catch(Exception e){
System.out.println("Erro ao listar os clubes");
System.out.println(e.getMessage());
}
return null;
}
之後,我想創建一個WebService輸出所有我的俱樂部列表。
@WebMethod(operationName = "listAllClubs")
public List<Club> listAllClubs() {
ClubDAO pdo = new ClubDAO();
List<Club> temp = pdo.listClubs();
System.out.println("[WS:::]Tamanho do array devolvido: " + temp.size());
return temp;
}
後,我在GlassFish中頁面測試了我的WebService我得到這個錯誤:
> Service invocation threw an exception with message : null; Refer to the server log for more details
當我拿到服務器日誌我看到這一點:
> SEVERE: failed to lazily initialize a collection of role: pt.dai.entities.Club.grades, no session or session was closed
我已經搜索這個在互聯網錯誤,我已經解決了將實體的xml更改爲default-lazy ='false',但是當這將所有俱樂部信息返回給PHP時,我的nuSOAP與大量數據分離..
如何使用lazzyLoad並將我的數據發送到WebService?
感謝您的幫助!
如果我評論會話提交和會話關閉,錯誤更改,然後給我「在對象圖中檢測到一個循環,這將導致無限深的XML:」 –