鑑於hibernate一些查詢的侷限性,此次就碰到一不支持as別名、二來因須要連表查詢select t1.id和t5.id,log上打印的sql語句在navicat中執行數據都是對的兩個不一樣的id,但在查詢出來的Object[]數組中獲取的兩個字段值是同樣的。這就尷尬了。 根據使用的jar版本不一樣獲取的方式會有差別,用em的unwrap()方法會報nusuchmethod異常。 EntityManager em = this.getJpaTemplate().getEntityManagerFactory() .createEntityManager(); Session session = (org.hibernate.Session) em.getDelegate(); SessionFactoryImplementor sf=(SessionFactoryImplementor)session.getSessionFacory(); Connection connection =sf.getConnectionProvider().getConnection(); *以後使用的方式就是最基礎的jdbc操做了,記得在try-catch代碼塊中寫,最後在finally中關閉connection、preparedstatement、resultset。