Skip to main content

[jpa-spec issues] [JIRA] Commented: (JPA_SPEC-30) Case sensitivity in JPQL queries

  • From: "c.beikov (JIRA)" < >
  • To:
  • Subject: [jpa-spec issues] [JIRA] Commented: (JPA_SPEC-30) Case sensitivity in JPQL queries
  • Date: Wed, 24 Apr 2013 16:17:58 +0000 (UTC)
  • Auto-submitted: auto-generated


    [ 
https://java.net/jira/browse/JPA_SPEC-30?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=362381#action_362381
 ] 

c.beikov commented on JPA_SPEC-30:
----------------------------------

Would it break backwards compatibility? I don't think so.
IMO this is an important addition when there is no reason for not including 
it. Many developers just use "propritary features" of their persistence 
providers and don't even know for sure that it isn't standard. I used 
hibernate ever since and I didn't know JPQL is case insensitive. So if I 
really want to deploy my applications to servers that do not have hibernate 
on them and the JPA implementation of the target system is not case 
sensitive, I would have to rewrite 300+ queries to get it working :(

Please consider the addition or give reasons for not doing it!

> Case sensitivity in JPQL queries
> --------------------------------
>
>                 Key: JPA_SPEC-30
>                 URL: https://java.net/jira/browse/JPA_SPEC-30
>             Project: jpa-spec
>          Issue Type: New Feature
>            Reporter: arjan tijms
>            Assignee: ldemichiel
>            Priority: Minor
>
> In JPA 2.0, JPQL is case insensitive. This means that contrary to Java 
> code, an identifier can not be same name as an entity with the first letter 
> in lower case.
> For instance in the following query an underscore has to be added to make 
> the name legal:
> {code}
> SELECT
>     _user
> FROM
>     User _user
> {code}
> Other typical workarounds for this are abbreviating the identifier to e.g. 
> "u", "usr" etc. Such names are rarely a best practice and actually against 
> common advice for good naming given by books like Clean Code, etc.
> I would like to request support for case sensitivity in some way, or 
> alternatively to lift the requirement that identifiers may not have the 
> same name as Entity classes. This last approach is taken by some 
> persistence providers, e.g. Hibernate, which silently accepts identifiers 
> having the same name as Entities.
> One possible solution would be to use a setting, either per query or 
> globally for the entire persistence unit. E.g.
> {code:xml}
> <named-query name="User.getAll" caseSensitive="true">
>     <query>
>         SELECT
>             user
>         FROM
>             User user
>     </query>
> </named-query>
> {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://java.net/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[jpa-spec issues] [JIRA] Commented: (JPA_SPEC-30) Case sensitivity in JPQL queries

c.beikov (JIRA) 04/24/2013
 
 
Close
loading
Please Confirm
Close