|
|
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Коллеги, очень нужна ваша помощь. Никак не пойму, что именно не так(( Запрос на сущности: @NamedNativeQuery(name = "Meetings.findByDay", query = "select * from meetings where DATE(start_time ) = :date", resultClass = Meetings.class) и далее его использую: Query query= em.createNamedQuery("Meetings.findByDay"); query.setParameter("date", "2016-02-27"); Ошибка: Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':date' at line 1 Error Code: 1064 Call: select * from meetings where DATE(start_time ) = :date Query: ReadAllQuery(name="Meetings.findByDay" referenceClass=Meetings sql="select * from meetings where DATE(start_time ) = :date") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340) При этом если делаю этот запрос без параметра, то все проходит: @NamedNativeQuery(name = "Meetings.findByDay", query = "select * from meetings where DATE(start_time ) = '2016-02-27'", resultClass = Meetings.class) Query query= em.createNamedQuery("Meetings.findByDay"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2016, 15:43 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Возможно EclipseLink не поддерживает именованных параметров для @NamedNativeQuery? Попробуйте Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2016, 16:03 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, к сожалению, не подошло( Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':date' at line 1 Error Code: 1064 Call: select * from meetings where DATE(start_time ) =:date Query: ReadAllQuery(name="Meetings.findByDay" referenceClass=Meetings sql="select * from meetings where DATE(start_time ) =:date") at org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:382) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 08:53 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
ditbanBlazkowicz, к сожалению, не подошло( Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':date' at line 1 Error Code: 1064 Call: select * from meetings where DATE(start_time ) =:date Query: ReadAllQuery(name="Meetings.findByDay" referenceClass=Meetings sql="select * from meetings where DATE(start_time ) =:date") at org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:382) Замени название параметра с date на myDate, например. Может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 10:24 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
ditban, В eclipselink у параметра вместо двоеточия, вопросик должен быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 10:29 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
ditban, В EclipseLink для именованного параметра в NamedNativeQuery надо использовать #, т.е. DATE(start_time ) = #date. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 09:31 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
0FD, да, прошло с #date! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 14:27 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
не стал создать новую тему, и если позволите задам свой вопрос тут... :) собственно вопрос: есть Код: java 1. дальше в сессБине: Код: java 1. 2. 3. 4. и сервлет: Код: java 1. 2. 3. 4. получаю вот такую ошибку: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 18:27 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Музаффар, Потому что параметры запроса это не шаблоны. Нельзя в любое место их лепить. Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 18:47 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, понятно спасибо, и ещё один вопрос как можно реализовать вот такой запрос: Код: plsql 1. 2. на сколько мне известно что знак || не поддерживается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 18:53 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
МузаффарBlazkowicz, понятно спасибо, и ещё один вопрос как можно реализовать вот такой запрос: Код: plsql 1. 2. на сколько мне известно что знак || не поддерживается... ну развери запрос типа where FIRST_NAME like '%ulla%' OR LAST_NAME like '%ulla%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 19:04 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Юрий321ну развери запрос типа where FIRST_NAME like '%ulla%' OR LAST_NAME like '%ulla%' а что если у меня поиск не только по этим полям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 19:11 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
МузаффарЮрий321ну развери запрос типа where FIRST_NAME like '%ulla%' OR LAST_NAME like '%ulla%' а что если у меня поиск не только по этим полям? тогда я бы освоил criteria api Код: java 1. 2. 3. 4. 5. 6. 7. тут pattern - строка поиска, fields - список имен полей в виде массива строк. можно отвязаться от типа Код: java 1. 2. и получится искать по любой таблице, любым текстовым полям из списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 08:52 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Музаффара что если у меня поиск не только по этим полям? Лучше взять полно-текстовый поиск встроенный в БД или вот этот http://hibernate.org/search/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 09:11 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
BlazkowiczМузаффара что если у меня поиск не только по этим полям? Лучше взять полно-текстовый поиск встроенный в БД или вот этот http://hibernate.org/search/ дело в том , что полно-текстовый поиск уступает по возможностям поиска по like. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:08 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
вадядело в том , что полно-текстовый поиск уступает по возможностям поиска по like. Так же верно и обратное утверждение. Но мне сложно представить реалистичный use case в котором имя человека нужно искать по двум буквам из середины. Поэтому когда кодер городит что-то вроде вышеприведенного, есть не малая вероятность, что про текстовый поиск он не в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:21 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
вадядело в том , что полно-текстовый поиск уступает по возможностям поиска по like. Ой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:25 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадядело в том , что полно-текстовый поиск уступает по возможностям поиска по like. Ой всё упирается в ту базу на которой работает система.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:29 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
Blazkowiczчеловека нужно искать по двум буквам из середины поиск по 'XXX%' т.е. по первым буквам :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:51 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
появился ещё один вопрос, и прошу помочь выяснить в чем проблема: может запросы не так как надо но все же... :) NamedQuery (который работает): Код: plsql 1. точно этот запрос только NativeQuery : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. получаю ошибку ORA-00933 но если запускаю на базе то получаю ответ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 19:02 |
|
||
|
JPA NamedQuery
|
|||
|---|---|---|---|
|
#18+
ой прошу прошения что получился не читаемая портянка Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 19:05 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39194808&tid=2124256]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 500ms |

| 0 / 0 |
