[
https://issues.apache.org/jira/browse/OLINGO-1460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mahdi Ansari updated OLINGO-1460:
---------------------------------
Description:
I made an odata service with {{olingo2}}, {{jpa}} and {{spring-boot}} based on
this [GitHub repository|https://github.com/jpenninkhof/odata-boilerplate].
I've set up the project to use MariaDB database and _it works quiet good_.
However, the project is a little bit old and I tried to upgrade it!
In the first step I tried to update the libraries versions like this:
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.0.RELEASE</version></parent><properties><java.version>1.8</java.version><cxf.version>3.3.6</cxf.version><olingo.version>2.0.11</olingo.version></properties>
when I try the following request that I use a filtering on a column of type
string:
{{[http://localhost:9090/odata.svc/Members?$format=json&$filter=FirstName] eq
'Jack'}}
I receive an error message in response to my request in postman or browser,
like this:
{"error": {"code": null,"message":
{"lang": "en","value": "org.hibernate.exception.SQLGrammarException: could not
extract ResultSet"}
}}
It actually generates a wrong query on database while it has the correct
dialect!
What is the problem here? It uses {{escape '\'}} instead of {{escape '}}
{{'}} in the query.
What is your suggestion for solving this issue?
The interesting part is if I have $filter and $expand at the same time in my
query then it will not inject escape '\' in the query anymore.
was:
I made an odata service with {{olingo2}}, {{jpa}} and {{spring-boot}} based on
this [GitHub repository|https://github.com/jpenninkhof/odata-boilerplate].
I've set up the project to use MariaDB database and _it works quiet good_.
However, the project is a little bit old and I tried to upgrade it!
In the first step I tried to update the libraries versions like this:
{{
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.0.RELEASE</version></parent><properties><java.version>1.8</java.version><cxf.version>3.3.6</cxf.version><olingo.version>2.0.11</olingo.version></properties>}}
when I try the following request that I use a filtering on a column of type
string:
{{http://localhost:9090/odata.svc/Members?$format=json&$filter=FirstName eq
'Jack'}}
I receive an error message in response to my request in postman or browser,
like this:
{{{"error": {"code": null,"message": {"lang": "en","value":
"org.hibernate.exception.SQLGrammarException: could not extract ResultSet"}}}}}
It actually generates a wrong query on database while it has the correct
dialect!
What is the problem here? It uses {{escape '\'}} instead of {{escape '\\'}} in
the query.
What is your suggestion for solving this issue?
The interesting part is if I have $filter and $expand at the same time in my
query then it will not inject escape '\' in the query anymore.
> $filter not working in JPA/Olingo 2.0.11 with MySQL
> ---------------------------------------------------
>
> Key: OLINGO-1460
> URL: https://issues.apache.org/jira/browse/OLINGO-1460
> Project: Olingo
> Issue Type: Bug
> Components: odata2-jpa
> Affects Versions: V2 2.0.11
> Environment: spring-boot 2.3.0, windows, MariaDB
> Reporter: Mahdi Ansari
> Priority: Major
>
> I made an odata service with {{olingo2}}, {{jpa}} and {{spring-boot}} based
> on this [GitHub repository|https://github.com/jpenninkhof/odata-boilerplate].
> I've set up the project to use MariaDB database and _it works quiet good_.
> However, the project is a little bit old and I tried to upgrade it!
> In the first step I tried to update the libraries versions like this:
>
> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.0.RELEASE</version></parent><properties><java.version>1.8</java.version><cxf.version>3.3.6</cxf.version><olingo.version>2.0.11</olingo.version></properties>
> when I try the following request that I use a filtering on a column of type
> string:
>
> {{[http://localhost:9090/odata.svc/Members?$format=json&$filter=FirstName]
> eq 'Jack'}}
> I receive an error message in response to my request in postman or browser,
> like this:
>
> {"error": {"code": null,"message":
> {"lang": "en","value": "org.hibernate.exception.SQLGrammarException: could
> not extract ResultSet"}
> }}
>
> It actually generates a wrong query on database while it has the correct
> dialect!
> What is the problem here? It uses {{escape '\'}} instead of {{escape '}}
> {{'}} in the query.
> What is your suggestion for solving this issue?
> The interesting part is if I have $filter and $expand at the same time in my
> query then it will not inject escape '\' in the query anymore.
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)