Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Что не так с запросом ? / 25 сообщений из 31, страница 1 из 2
14.06.2020, 13:51
    #39968989
bobo96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Всем привет. Вылетает ошибка при выполнении запроса.
Код: java
1.
2.
3.
4.
    @Query(value = "INSERT INTO location_alarm_done (lat, lon, id_user, date_time, id_gbr, date_time_done, gps_enable, nw_enable) " +
            "SELECT lat, lon, id_user, date_time, ?2, GETDATE(), gps_enable, nw_enable FROM location_alarm WHERE id_user=?1; " +
            "DELETE FROM location_alarm WHERE id_user=?1;", nativeQuery = true)
    void finishAlarm(int idUser, int idgbr);



на выходе:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: JPA-style positional param was not an integral ordinal; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: JPA-style positional param was not an integral ordinal
	at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:374)
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:257)
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528)
	at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:149)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
	at com.sun.proxy.$Proxy139.finishAlarm(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205)
	at com.sun.proxy.$Proxy90.finishAlarm(Unknown Source)
	at ru.korshun.eda.controller.AlarmsController.finishAlarm(AlarmsController.java:59)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at ru.korshun.eda.tokenData.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:53)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: JPA-style positional param was not an integral ordinal
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
	at org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryImplementor(AbstractSharedSessionContract.java:1106)
	at org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery(AbstractSharedSessionContract.java:1002)
	at org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery(AbstractSharedSessionContract.java:113)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:366)
	at com.sun.proxy.$Proxy96.createNativeQuery(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:314)
	at com.sun.proxy.$Proxy96.createNativeQuery(Unknown Source)
	at org.springframework.data.jpa.repository.query.NativeJpaQuery.createJpaQuery(NativeJpaQuery.java:70)
	at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:86)
	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:226)
	at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:196)
	at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88)
	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:154)
	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:142)
	at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor$QueryMethodInvoker.invoke(QueryExecutorMethodInterceptor.java:195)
	at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:152)
	at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:130)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
	... 109 more
Caused by: org.hibernate.QueryException: JPA-style positional param was not an integral ordinal
	at org.hibernate.engine.query.spi.ParameterParser.parse(ParameterParser.java:195)
	at org.hibernate.engine.query.spi.ParamLocationRecognizer.parseLocations(ParamLocationRecognizer.java:56)
	at org.hibernate.engine.query.internal.NativeQueryInterpreterStandardImpl.getParameterMetadata(NativeQueryInterpreterStandardImpl.java:30)
	at org.hibernate.engine.query.spi.QueryPlanCache.lambda$getSQLParameterMetadata$0(QueryPlanCache.java:128)
	at java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330)
	at org.hibernate.engine.query.spi.QueryPlanCache.getSQLParameterMetadata(QueryPlanCache.java:128)
	at org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryImplementor(AbstractSharedSessionContract.java:1099)
	... 140 more




Что не так ?
...
Рейтинг: 0 / 0
14.06.2020, 13:57
    #39968992
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
уже гуглил?
...
Рейтинг: 0 / 0
14.06.2020, 14:00
    #39968993
bobo96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
угу, иначе не пришел бы сюда
...
Рейтинг: 0 / 0
14.06.2020, 14:09
    #39968995
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Синтаксис SQL надо учить, а не придумывать:
Код: sql
1.
insert into таблица(список,полей) values  (список,значений)

Ещё полезно не пытаться упихнуть два запроса в один, а почитать про MERGE.
...
Рейтинг: 0 / 0
14.06.2020, 14:11
    #39968996
bobo96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Basil A. Sidorov, values + select ?
https://www.w3schools.com/sql/sql_insert_into_select.asp первая ссылка в гугле: ни слова про values.
С одним insert'ом та же ошибка, так что дело тут явно не во втором запросе.
...
Рейтинг: 0 / 0
14.06.2020, 14:19
    #39968998
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
bobo96
угу, иначе не пришел бы сюда

в первой же ссылке на stackoverflow пишут, что ошибка вызвана последней ; в стейтменте, там где delete from where ?1;

уже пробовал убрать?

P. S. вообще, если честно так на мой вкус порнография такие трехэтажные запросы - тут бы либо крестик снять (одну хранимку написать), либо трусы одеть - т.е. транзакция и два метода в ней
...
Рейтинг: 0 / 0
14.06.2020, 14:24
    #39968999
bobo96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
chpasha
bobo96
угу, иначе не пришел бы сюда

в первой же ссылке на stackoverflow пишут, что ошибка вызвана последней ; в стейтменте, там где delete from where ?1;

уже пробовал убрать?

P. S. вообще, если честно так на мой вкус порнография такие трехэтажные запросы - тут бы либо крестик снять (одну хранимку написать), либо трусы одеть - т.е. транзакция и два метода в ней

Пробовал убрать, та же ошибка :(
Хранимку сделать не проблема, но пока хотелось бы, что бы все в одном месте было.
Про транзакцию и 2 метода не совсем понял, что ты имеешь в виду, можно в двух словах пояснить ?
...
Рейтинг: 0 / 0
14.06.2020, 14:29
    #39969000
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
по запросу на метод, т.е.
markAlarmDone + removeAlarm и выполняешь оба в одной транзакции
...
Рейтинг: 0 / 0
14.06.2020, 22:27
    #39969113
alexzaides
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
bobo96,

@Query(value = "INSERT INTO location_alarm_done (lat, lon, id_user, date_time, id_gbr, date_time_done, gps_enable, nw_enable) " +
"SELECT lat, lon, id_user, date_time, :idgbr, GETDATE(), gps_enable, nw_enable FROM location_alarm WHERE id_user=:idUser; " +
"DELETE FROM location_alarm WHERE id_user=:idUser;", nativeQuery = true)
void finishAlarm(int idUser, int idgbr);

Так не прокатит?

Ну и на почитать
https://www.baeldung.com/spring-data-jpa-query
https://www.logicbig.com/tutorials/spring-framework/spring-data/query-named-parameters.html

И таки да - бросайте вы это дело - несколько запросов в одной Query.
...
Рейтинг: 0 / 0
14.06.2020, 23:43
    #39969136
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
С точки зрения JDBC это вроде-бы можно.

Multiple queries executed in java in single statement
https://stackoverflow.com/questions/10797794/multiple-queries-executed-in-java-in-single-statement

Здесь возможно такая выгода что за 1 сетевой roundtrip мы делаем несколько DML операций в разные таблички.
...
Рейтинг: 0 / 0
15.06.2020, 06:32
    #39969176
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
bobo96,

ИМХО может в начале проверить запрос напрямую в БД?
Потом его вызов оформить в JDBCTemplate.
И только потом оборачивать в @Query.

Потому что @Query работает не так однозначно, как JDBCTemplate.
...
Рейтинг: 0 / 0
15.06.2020, 09:40
    #39969217
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
mayton
С точки зрения JDBC это вроде-бы можно.

подозреваю, зависит от базы.

AFAIK в Oracle, вроде, для этого нужно анонимный блок делать. В MySQL скорее всего прокатит.

Но нафига делать такую порнографию, мне не очень понятно.
...
Рейтинг: 0 / 0
15.06.2020, 09:46
    #39969222
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Да. Для Оракла накладно получается. Если он каждый анонимный блок будет компилировать в PL/SQL процедуру.

Но возможно для Postgres - это такой себе... lite вариант объединения двух dml операций. Хотя я тут точно
не скажу. Пускай постгресщики подтвердят.
...
Рейтинг: 0 / 0
15.06.2020, 09:54
    #39969227
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
mayton
С точки зрения JDBC это вроде-бы можно...
С точки зрения здравого смысла это дыра в безопасности
...
Рейтинг: 0 / 0
15.06.2020, 10:07
    #39969232
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
mayton
Да. Для Оракла накладно получается. Если он каждый анонимный блок будет компилировать в PL/SQL процедуру.

mayton, Вы же Oracle занимали....

при чем тут процедура? анонимный блок такой-же запрос, так же ляжет в Shared Pool. IMHO единственные накладные расходы, это вызов SQL engine из PL SQL engine. На фоне остального - можно принебречь.

возможно для Postgres

сомневаюсь

единственная СУБД, которую помню, где на уровне спецификации и документации СУБД были описаны составные SQL-команды - MySQL. В качестве lite замены нормальной batch обработки (которой не было в ранних версиях, есть ли сейчас не знаю)

AFAIK
...
Рейтинг: 0 / 0
15.06.2020, 10:12
    #39969235
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Leonid Kudryavtsev
mayton
Да. Для Оракла накладно получается. Если он каждый анонимный блок будет компилировать в PL/SQL процедуру.

mayton, Вы же Oracle занимали....

при чем тут процедура? анонимный блок такой-же запрос, так же ляжет в Shared Pool. IMHO единственные накладные расходы, это вызов SQL engine из PL SQL engine. На фоне остального - можно принебречь.

Анонимный блок использует те-же самые шаги что и stored procedure. Он - имеет
секцию переменных. И секцию кода. Он - компилируется. И мне кажется что
фаза компилляции которая так хороша для одноразовых джобов может быть не очень
хороша для коротких и точечных групповых транзакций как привел автор.

Насчет самого запроса я ничего не говорил. Он - копеечный. Я выражал сомнение
в целесообразности компилляции кодя для PL-машины.
...
Рейтинг: 0 / 0
15.06.2020, 10:18
    #39969237
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
mayton

Насчет самого запроса я ничего не говорил. Он - копеечный. Я выражал сомнение
в целесообразности компилляции кодя для PL-машины.

не вижу большой проблемы в "компилляции кодя для PL-машины"
та же самая стадия Parse, что и для обычного запроса IMHO
...
Рейтинг: 0 / 0
15.06.2020, 10:19
    #39969239
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Leonid Kudryavtsev

единственная СУБД, которую помню, где на уровне спецификации и документации СУБД были описаны составные SQL-команды - MySQL. В качестве lite замены нормальной batch обработки (которой не было в ранних версиях, есть ли сейчас не знаю)
AFAIK

Мы использовали множественные запросы в PGSQL при работе с справочниками.
Нам нужно было эмулировать работу нескольких тесяч sequences и для этого
создавалось 2 таблички и 1 вставка в справочник требовала 2 операции над 2 таблицаими.
Это можно было сделать через два PreparedStatement и два roundtrip
но мы обошлись использованием множественных SQL. И поскольку система была
хайлоад в фазе загрузки справочников - то это было красивое решение для
performance.
...
Рейтинг: 0 / 0
15.06.2020, 10:20
    #39969241
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Leonid Kudryavtsev
mayton

Насчет самого запроса я ничего не говорил. Он - копеечный. Я выражал сомнение
в целесообразности компилляции кодя для PL-машины.

не вижу большой проблемы в "компилляции кодя для PL-машины"
та же самая стадия Parse, что и для обычного запроса IMHO

Может быть и так. Но я-бы проверил на цифрах.
...
Рейтинг: 0 / 0
15.06.2020, 14:27
    #39969342
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Хм... тут если id_user=?1 это некий первичный ключ, то можно попробовать триггер на location_alarm_done insert.

Код: sql
1.
2.
3.
4.
INSERT INTO location_alarm_done (lat, lon, id_user, date_time, id_gbr, date_time_done, gps_enable, nw_enable) 
 SELECT lat, lon, id_user, date_time, ?2, GETDATE(), gps_enable, nw_enable FROM location_alarm WHERE id_user=?1; 

DELETE FROM location_alarm WHERE id_user=?1;
...
Рейтинг: 0 / 0
15.06.2020, 17:01
    #39969462
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
А как ты узнал что не полностью? Тоесть ты должен был знать как выглядит последняя строка файла.
...
Рейтинг: 0 / 0
15.06.2020, 17:34
    #39969469
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Допустим cat врет и действительно показывает только шапку файла.

Тогда сделай

Код: java
1.
tail /nameFile



Он покажет хвостик файла. И если там будет тоже самое то тогда наверное у тебя баг.
...
Рейтинг: 0 / 0
15.06.2020, 21:57
    #39969532
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
mayton,

тогда уж
Код: html
1.
 tail -f /nameFile
...
Рейтинг: 0 / 0
15.06.2020, 22:06
    #39969533
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
И посчитать общее количество строк через word cound (wc)

Пример.

Код: java
1.
2.
mayton@ryzen-ssd:~$ wc -l ubuntu-reason-soft.txt 
199 ubuntu-reason-soft.txt
...
Рейтинг: 0 / 0
16.06.2020, 07:50
    #39969570
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что не так с запросом ?
Zzz79
Не хочу отдельную тему плодить - кто то сталкивался с таким ?
большой csv файл лежит в сетевой папке в портейнере ( линукс)
я его открывают /cat nameFile
и он открывается но не полностью
это особенности линункса ,или же где то есть настройки чтобы выводило в консоль весь файл целиком


Я обычно "less"-файлики смотрю.
Нормально все показывает.
Правда бывает долго считает количество строк.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Что не так с запросом ? / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]