2013-02-26 27 views
1

使用會話命名查詢可以像下面進行檢索?休眠獲得命名的查詢字符串沒有會話

我正在動態修改查詢字符串,並且當時不需要會話。

定義的命名查詢不與Hibernate 4.改變

+0

'NamedQuery'不能在運行時動態修改。 – 2013-02-26 03:18:15

回答

0
SessionFactoryImplementor sesionFactoryImplementor=(SessionFactoryImplementor)sessionFactory; 

sesionFactoryImplementor.getNamedQuery("test").getQueryString(); 

作品作爲拿煙Wadekar評論說你不能在運行時修改它。

+0

謝謝,但我可以從字符串'Session.createSQLQuery(String)'創建一個新的查詢' – djmj 2013-03-01 00:17:11

0

這很適合我:

Query query = em.createNamedQuery(namedQuery); 
String hql = query.unwrap(org.hibernate.Query.class).getQueryString(); 

希望這有助於!