fix an incorrect statement about case sensitivity
This commit is contained in:
parent
fc079ba226
commit
3103d84949
|
@ -28,23 +28,31 @@ In HQL and JPQL, the case sensitivity of an identifier depends on the kind of th
|
||||||
|
|
||||||
The rules for case sensitivity are:
|
The rules for case sensitivity are:
|
||||||
|
|
||||||
- keywords, identification variable names, and function names are case-insensitive, but
|
- keywords and function names are case-insensitive, but
|
||||||
- Java class names, and the names of attributes of Java classes, are case-sensitive.
|
- identification variable names, Java class names, and the names of attributes of Java classes, are case-sensitive.
|
||||||
|
|
||||||
Just to reiterate these rules:
|
|
||||||
|
|
||||||
* `select`, `SeLeCT`, `sELEct`, and `SELECT` are all the same, but
|
|
||||||
* `from BackPack` and `from Backpack` are different, referring to different Java classes, and similarly,
|
|
||||||
* `person.nickName` and `person.nickname` are different, since the path expression element `nickName` refers to an attribute of an entity defined in Java, and finally,
|
|
||||||
* a bit confusingly perhaps, `person.nickName`, `Person.nickName`, and `PERSON.nickName` are all the _same_, since the first element of a path expression is an <<hql-identification-variables,identification variable>>.
|
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
It is standard practice to use lowercase keywords in HQL and JPQL.
|
Incidentally, it's standard practice to use lowercase keywords in HQL and JPQL.
|
||||||
|
|
||||||
The use of uppercase keywords indicates an endearing but unhealthy attachment to the culture of the 1970's.
|
The use of uppercase keywords indicates an endearing but unhealthy attachment to the culture of the 1970's.
|
||||||
====
|
====
|
||||||
|
|
||||||
|
Just to reiterate these rules:
|
||||||
|
|
||||||
|
* `select`, `SeLeCT`, `sELEct`, and `SELECT` are all the same, and also
|
||||||
|
* `upper(name)` and `UPPER(name)` are the same, but
|
||||||
|
* `from BackPack` and `from Backpack` are different, referring to different Java classes, and similarly,
|
||||||
|
* `person.nickName` and `person.nickname` are different, since the path expression element `nickName` refers to an attribute of an entity defined in Java, and finally,
|
||||||
|
* `person.nickName`, `Person.nickName`, and `PERSON.nickName` are also all different, since the first element of a path expression is an <<hql-identification-variables,identification variable>>.
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
====
|
||||||
|
The JPQL specification defines identification variables as case-_insensitive_.
|
||||||
|
|
||||||
|
And so in strict JPA-compliant mode, Hibernate treats `person.nickName`, `Person.nickName`, and `PERSON.nickName` as the _same_.
|
||||||
|
====
|
||||||
|
|
||||||
A _quoted identifier_ is written in backticks. Quoting lets you use a keyword as an identifier, for example `` thing.\`select` ``.
|
A _quoted identifier_ is written in backticks. Quoting lets you use a keyword as an identifier, for example `` thing.\`select` ``.
|
||||||
|
|
||||||
[[hql-statement-types]]
|
[[hql-statement-types]]
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
package org.hibernate.userguide.model;
|
package org.hibernate.userguide.model;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.GeneratedValue;
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.userguide.model;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -27,9 +26,7 @@ import jakarta.persistence.MapKey;
|
||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.SqlResultSetMapping;
|
import jakarta.persistence.SqlResultSetMapping;
|
||||||
|
|
||||||
import org.hibernate.annotations.NamedNativeQueries;
|
|
||||||
import org.hibernate.annotations.NamedNativeQuery;
|
import org.hibernate.annotations.NamedNativeQuery;
|
||||||
import org.hibernate.annotations.NamedQueries;
|
|
||||||
import org.hibernate.annotations.NamedQuery;
|
import org.hibernate.annotations.NamedQuery;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue