我写了一个原生查询
Query query =
entityManagerUtil.getEntityManager().createNativeQuery("SELECT c.NodeID,c.Code,c.Name FROM COM_Location c");
query.getResultList();
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用....
我使用JPA,MSSQL Server 2008和Spring.It当我尝试用pojo类编写JPA查询但它无法执行本机查询时工作正常.
我的配置persistance.xml是这样的
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
Run Code Online (Sandbox Code Playgroud)
任何人都建议我解决问题
我的堆栈跟踪说......
org.springframework.orm.jpa.JpaSystemException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -9; nested exception is javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -9
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:311)
at org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect.ajc$afterThrowing$org_springframework_orm_jpa_aspectj_JpaExceptionTranslatorAspect$1$18a1ac9(JpaExceptionTranslatorAspect.aj:15)
at com.iconma.carz.daoimpl.SecurityDaoImpl.getAllLocations(SecurityDaoImpl.java:40)
at com.iconma.carz.serviceimpl.SecurityServiceImpl.getAllLocations(SecurityServiceImpl.java:31)
at com.iconma.carz.controllers.SecurityController.getLocations(SecurityController.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) …Run Code Online (Sandbox Code Playgroud) 我在使用本机SQL查询时遇到问题...
当这段代码:
SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Object[]> objects = entityManager.createNativeQuery(" select ERROR_CODE, REASON,
count(*) " + //
" from flow_error " + //
"where timestamp " + //
" between to_date(:endDate,'YYYY-MM-DD HH24:MI:SS') " + //
" and to_date(:startDate,'YYYY-MM-DD HH24:MI:SS') " + //
" AND TRANSACTION_UUID in ( " + //
" SELECT TRANSACTION_UUID " + //
" FROM RJT_HIST " + //
" WHERE insert_tst " + //
" between to_date(:endDate,'YYYY-MM-DD HH24:MI:SS') " + //
" and to_date(:startDate,'YYYY-MM-DD HH24:MI:SS') …Run Code Online (Sandbox Code Playgroud)