Java hibernate-获取不带会话的命名查询字符串
使用会话可以检索命名查询,如下所示:Java hibernate-获取不带会话的命名查询字符串,java,hibernate,session,Java,Hibernate,Session,使用会话可以检索命名查询,如下所示: Query query = session.getNamedQuery(queryName); 但是,如何在不使用会话的情况下检索命名查询呢 我正在动态修改查询字符串,此时不需要会话 未更改已定义的命名查询 使用Hibernate4。正如Nayan Wadekar所评论的,您不能在运行时修改它 这对我来说很有效: Query query = em.createNamedQuery(namedQuery); String hql = query.unwrap
Query query = session.getNamedQuery(queryName);
但是,如何在不使用会话的情况下检索命名查询呢
我正在动态修改查询字符串,此时不需要会话
未更改已定义的命名查询
使用Hibernate4。正如Nayan Wadekar所评论的,您不能在运行时修改它 这对我来说很有效:
Query query = em.createNamedQuery(namedQuery);
String hql = query.unwrap(org.hibernate.Query.class).getQueryString();
希望这有帮助
NamedQuery
无法在运行时动态修改。谢谢,但是我可以从string会话创建一个新查询。createSQLQuery(string)
您可以创建一个新查询,但是您还需要重置参数以及其他查询详细信息。
Query query = em.createNamedQuery(namedQuery);
String hql = query.unwrap(org.hibernate.Query.class).getQueryString();