powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Что не так с запросом ?
31 сообщений из 31, показаны все 2 страниц
Что не так с запросом ?
    #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
Что не так с запросом ?
    #39968992
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уже гуглил?
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39968993
bobo96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
угу, иначе не пришел бы сюда
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39968995
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синтаксис SQL надо учить, а не придумывать:
Код: sql
1.
insert into таблица(список,полей) values  (список,значений)

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

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

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

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

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

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

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

Пробовал убрать, та же ошибка :(
Хранимку сделать не проблема, но пока хотелось бы, что бы все в одном месте было.
Про транзакцию и 2 метода не совсем понял, что ты имеешь в виду, можно в двух словах пояснить ?
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969000
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по запросу на метод, т.е.
markAlarmDone + removeAlarm и выполняешь оба в одной транзакции
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #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
Что не так с запросом ?
    #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
Что не так с запросом ?
    #39969176
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobo96,

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

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

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

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

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

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

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

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

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

сомневаюсь

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

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

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

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

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

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

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

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

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

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

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

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

Может быть и так. Но я-бы проверил на цифрах.
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #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
Что не так с запросом ?
    #39969462
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты узнал что не полностью? Тоесть ты должен был знать как выглядит последняя строка файла.
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969469
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим cat врет и действительно показывает только шапку файла.

Тогда сделай

Код: java
1.
tail /nameFile



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

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

Пример.

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


Я обычно "less"-файлики смотрю.
Нормально все показывает.
Правда бывает долго считает количество строк.
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969579
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стас ну чо там? Получилось?
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969612
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может файл буферизирован на запись и еще не закрыт? В этом случае одна система рапотрует что записала 10 000 rows.
Но из за того что еще не отработал flush(), последние строки не записаны физически.
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969614
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что tail показывает?
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969620
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У cat такая фигня бывает, если там какие-то непечатные символы. Если чекаешь через него бинарники, то он их бывает обрезает. На stackoverflow про \r пишут
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969729
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
mayton
Что tail показывает?
конец файла показывает,судя по всему это девопсы ограничили количество строк
так как в теории эти файлы нам могут заходить больше 10 тысяч строк

Это странное поведение. Я никогда такого не видел. Может быть ты смотришь
не через ssh а через какую-то веб-консоль и у нее есть что-то вроде
pagination или limitation. Amazon например такое ограничивает при просмотре
S3 folders.
...
Рейтинг: 0 / 0
Что не так с запросом ?
    #39969757
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понятно, почему зациклились на cat
Вместо cat вполне можно cp (copy) использовать IMHO
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Что не так с запросом ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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