0
如何使用命名查詢來獲取在休眠當前數據庫的名字..在Hibernate查詢
我試了一下這個樣子,
String q1 = "select database()";
Query query1 = em.createQuery(q1);
String dbName = (String)query1.getResultList().get(0);
System.out.println("database name: "+dbName);
獲取數據庫名但這拋出這樣的錯誤,
HTTP ERROR 500
Problem accessing /admin/user. Reason:
No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'database' {originalText=database}
\-[EXPR_LIST] SqlNode: 'exprList'
Caused by:
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'database' {originalText=database}
\-[EXPR_LIST] SqlNode: 'exprList'
但是,如果我在Sql GUI控制檯中運行相同的查詢,它將顯示當前的數據庫名稱。
你可能想在這個特殊的情況下 – Gimby
@Gimby是它嘗試createNativeQuery()method..thnks .. – Lucky
@Gimby後使用作品createNativeQuery()來嘗試u能發表您的評論作爲答案? – Lucky