0
라는 이름의 쿼리를 사용하여 최대 절전 모드에서 현재 데이터베이스 이름을 얻는 방법을
이 같은 그것을 시도,
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