在會話點我想啓動一個代碼塊執行 12000選擇和4810插入(這是一個循環,我有一個對象列表,我可以設置5個屬性併爲每個我啓動saveOrUpdate)。休眠3 - 在當前會話中的許多查詢
我的問題是,在Eclipse控制檯中,我發現一個錯誤。但是,如果我重新啓動這段代碼,錯誤的行會改變。
我認爲問題是大量的查詢或緩存問題,或者我不知道。 立刻錯誤:
Unable to acquire JDBC Connection
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95)
at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:90)
at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:112)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:146)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:148)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1928)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1897)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)
at org.hibernate.loader.Loader.doQuery(Loader.java:919)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
at org.hibernate.loader.Loader.doList(Loader.java:2611)
at org.hibernate.loader.Loader.doList(Loader.java:2594)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)
at org.hibernate.loader.Loader.list(Loader.java:2418)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1701)
at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363)
at ........(***myfile:this line changes on every launch***)
在的System.out.println,我控制該休眠查詢的where條件存在,和effectly存在用於這就是沒有問題。
錯誤出現在執行中,而不是在開始,所以不要認爲是一個問題的地方。
查詢類型很簡單:
List<ObjectForMe> list = (List<ObjectForMe>) getSession(em) (method for my session)
.createCriteria(ObjectForMe.class)
.add(Restrictions.eq("propertyBigDecimal",new BigDecimal(Integer)))
.add(Restrictions.eq("propertyBigDecimal1",new BigDecimal(Integer)))
.add(Restrictions.eq("propertyRelationIstanceofObjectX",istanceofObjectX))
.list();
這不是我的JDBC連接問題。我做任何類型的測試連接,這很好。
謝謝你幫我
請分享您的代碼... – Shiva