81,092
社区成员
发帖
与我相关
我的任务
分享
public List<Object> getObjectSQLList(String sql, Class classStr) {
Query query =super.getSession().createSQLQuery(sql).addEntity(classStr);
return query.list();
}
LEFT JOIN t_position_face pf ON pf.geom.STContains (
geometry :: STGeomFromText (
'POINT(' + p.gpsx + ' ' + p.gpsy + ')',
0
)
) = 1
org.hibernate.QueryException: Not all named parameters have been set: [:STGeomFromText] [select p.* from t_project p left join t_region r on p.region_id = r.id left join t_position_face pf on pf.geom.STContains(geometry::STGeomFromText('POINT('+p.gpsx +' '+p.gpsy+')', 0)) = 1 where p.is_delete = 0 and r.is_delete = 0 and r.id = 354 and ( ( p.keywordid like '13' or p.keywordid like ',13' or p.keywordid like '13,' or p.keywordid like '13,%' or p.keywordid like '%,13,%' or p.keywordid like '%,13' ) or ( pf.id = 13 ) ) order by id desc]
at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:291)
at org.hibernate.impl.SQLQueryImpl.verifyParameters(SQLQueryImpl.java:201)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:145)
at com.dcsm.dao.BaseDaoImpl.getObjectSQLList(BaseDaoImpl.java:162)
at com.dcsm.dao.ProjectDao.findProject(ProjectDao.java:118)
at com.dcsm.service.impl.ProjectServiceImpl.findProject(ProjectServiceImpl.java:21)
at com.dcsm.controller.MeddiaFirstController.searchProjectList(MeddiaFirstController.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
select * from t_project p
left join t_position_face_test ft on ft.geom.STContains(geometry::STGeomFromText('POINT('+p.gpsx +' '+p.gpsy+')', 0)) = 1
where ft.id = 7
query.setParameter(":STGeomFromText","::STGeomFromText");
新问题:
Coldplay 2014/10/14 16:42:31
com.microsoft.sqlserver.jdbc.SQLServerException: 'geometry@P0' 不是可以识别的 内置函数名称。select * from t_project p
left join t_position_face_test ft on ft.geom.STContains(geometry::STGeomFromText('POINT('+p.gpsx +' '+p.gpsy+')', 0)) = 1
where ft.id = 7
这句可以在执行成功的话,楼主试试将Query query =super.getSession().createSQLQuery(sql).addEntity(classStr);
改为Query query =super.getSession().createSQLQuery(sql);
[select p.* from t_project p left join t_region r on p.region_id = r.id left join t_position_face pf on pf.geom.STContains(geometry::STGeomFromText('POINT('+p.gpsx +' '+p.gpsy+')', 0)) = 1 where p.is_delete = 0 and r.is_delete = 0 and r.id = 354 and ( ( p.keywordid like '13' or p.keywordid like ',13' or p.keywordid like '13,' or p.keywordid like '13,%' or p.keywordid like '%,13,%' or p.keywordid like '%,13' ) or ( pf.id = 13 ) ) order by id desc]
试这个sqlNot all named parameters have been set: [:STGeomFromText]