Skip to content

Changes

Summary

  1. Understand new (eclipselink-)orm xsd (commit: 2dd631c) (details)
  2. Jakarta Persistence 3.2: JPQL generate missing Entity default `this` alias in simple SELECT queries (#2102) (commit: 78a5206) (details)
Commit 2dd631c53a6b7369d8dca803b84e73248d21dd46 by Lukas Jungmann
Understand new (eclipselink-)orm xsd

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
(commit: 2dd631c)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/CacheIsolationType.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/TableDefinition.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/sequencing/SequenceGeneratorMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/resources/org/eclipse/persistence/jpa/eclipselink_orm_5_0.xsd (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/accessors/classes/MappedSuperclassAccessor.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/xml/XMLEntityMappingsReader.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/JoinColumnMetadata.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/namespaces/PrefixMapperNamespaceResolver.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/queries/NamedNativeQueryMetadata.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/DatabaseTable.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/xml/XMLEntityMappingsMappingProject.java (diff)
The file was modified jpa/org.eclipse.persistence.jpars/pom.xml (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/UniqueConstraintMetadata.java (diff)
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.xml.extended/jpa.test.xml.extended.advanced/src/main/resources/META-INF/eclipselink-orm.xml (diff)
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.xml.extended/jpa.test.xml.extended.advanced.dynamic/src/main/resources/META-INF/advanced-dynamic-entity-mappings.xml (diff)
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.xml.extended/jpa.test.xml.extended.complexaggregate/src/main/resources/META-INF/eclipselink-orm.xml (diff)
The file was addedfoundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/CheckConstraint.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/DirectColumnMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/sequencing/TableGeneratorMetadata.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/DatabaseField.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/mappings/MapKeyMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/queries/NamedStoredProcedureQueryMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/ColumnMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/converters/ConvertMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/TableMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/xml/XMLPersistenceUnitMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/MetadataColumn.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/queries/EntityResultMetadata.java (diff)
The file was addedjpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/CheckConstraintMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/MetadataProject.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/RelationalColumnMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/TenantDiscriminatorColumnMetadata.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/JoinTableMetadata.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DefaultTableGenerator.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/ForeignKeyMetadata.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/FieldDefinition.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/IndexMetadata.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AggregateObjectMapping.java (diff)
Commit 78a5206fc3b2563020c3bdcc2887e110ce814376 by GitHub
Jakarta Persistence 3.2: JPQL generate missing Entity default `this` alias in simple SELECT queries (#2102)

This improvement ensure, that JPQL SELECT queries like `SELECT this FROM Entity` where entity alias is not specified in the `FROM` part will be automatically added. Default `this` alias is used as it specified by:
https://github.com/jakartaee/persistence/issues/452
There is automatic `SELECT this` generation for queries like `FROM Entity this` too.
This happens only for EclipseLink 5.0.0 and higher or for persistence property `eclipselink.jpql.validation` with value `None` or `JPA 3.2`.

It allows accept following queries like:

- `SELECT this FROM Entity` -> `SELECT this FROM Entity this`
- `SELECT COUNT(this) FROM Entity` -> `SELECT COUNT(this) FROM Entity this`
- `SELECT this FROM Entity this WHERE id = :id` -> `SELECT this FROM Entity this WHERE this.id = :id`
- `SELECT this FROM Entity WHERE id = :id AND UPPER(name) = 'NAME 1` -> `SELECT this FROM Entity this WHERE this.id = :id AND UPPER(this.name) = 'NAME 1'`
- `FROM Entity this` -> `SELECT this FROM Entity this`

Some test modifications in the `org.eclipse.persistence.jpa.testapps` module:

- `org.eclipse.persistence.testing.tests.jpa.jpql.advanced.JUnitJPQLComplexTest#testNoSelect`
- `org.eclipse.persistence.testing.tests.jpa.jpql.advanced.JUnitJPQLValidationTest#noAliasWithWHEREAndParameterExceptionTest`
- org.eclipse.persistence.testing.tests.jpql.JPQLExceptionTest#noAliasWithWHEREAndParameterExceptionTest (CORE)

Signed-off-by: Radek Felcman <radek.felcman@oracle.com>
(commit: 78a5206)
The file was addedjpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLExpressionTestJakartaData.java
The file was modified foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/jpql/JPQLExceptionTest.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBuilder.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/EclipseLinkVersion.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractFromClause.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclaration.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AllJPQLParserTests.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLGrammarTools.java (diff)
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.jpql/src/test/java/org/eclipse/persistence/testing/tests/jpa/jpql/advanced/JUnitJPQLComplexTest.java (diff)
The file was addedjpa/eclipselink.jpa.testapps/jpa.test.jpql/src/test/java/org/eclipse/persistence/testing/tests/jpa/jpql/advanced/JUnitJPQLJakartaDataNoAliasTest.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DefaultEclipseLinkJPQLGrammar.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/HermesParser.java (diff)
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.jpql/src/test/java/org/eclipse/persistence/testing/tests/jpa/jpql/advanced/JUnitJPQLValidationTest.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/Expression.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/querydef/CommonAbstractCriteriaImpl.java (diff)
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.jpql/src/main/resources/META-INF/persistence.xml (diff)
The file was addedjpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar5_0.java
The file was removedjpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar4_1.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariable.java (diff)
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLExpression.java (diff)

Summary

  1. Understand new (eclipselink-)orm xsd (commit: 2dd631c) (details)
  2. Jakarta Persistence 3.2: JPQL generate missing Entity default `this` alias in simple SELECT queries (#2102) (commit: 78a5206) (details)
Commit 2dd631c53a6b7369d8dca803b84e73248d21dd46 by Lukas Jungmann
Understand new (eclipselink-)orm xsd

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
(commit: 2dd631c)
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/ForeignKeyMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/IndexMetadata.java
The file was addedfoundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/CheckConstraint.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/queries/EntityResultMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/queries/NamedNativeQueryMetadata.java
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.xml.extended/jpa.test.xml.extended.advanced.dynamic/src/main/resources/META-INF/advanced-dynamic-entity-mappings.xml
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/TableDefinition.java
The file was modified jpa/org.eclipse.persistence.jpars/pom.xml
The file was modified jpa/org.eclipse.persistence.jpa/src/main/resources/org/eclipse/persistence/jpa/eclipselink_orm_5_0.xsd
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/TableMetadata.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DefaultTableGenerator.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/sequencing/SequenceGeneratorMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/xml/XMLPersistenceUnitMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/queries/NamedStoredProcedureQueryMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/mappings/MapKeyMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/xml/XMLEntityMappingsReader.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/JoinColumnMetadata.java
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.xml.extended/jpa.test.xml.extended.advanced/src/main/resources/META-INF/eclipselink-orm.xml
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.xml.extended/jpa.test.xml.extended.complexaggregate/src/main/resources/META-INF/eclipselink-orm.xml
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/FieldDefinition.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/TenantDiscriminatorColumnMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/accessors/classes/MappedSuperclassAccessor.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/UniqueConstraintMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/converters/ConvertMetadata.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AggregateObjectMapping.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/RelationalColumnMetadata.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/namespaces/PrefixMapperNamespaceResolver.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/sequencing/TableGeneratorMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/JoinTableMetadata.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/CacheIsolationType.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/MetadataColumn.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/DatabaseField.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/DatabaseTable.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/MetadataProject.java
The file was addedjpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/tables/CheckConstraintMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/xml/XMLEntityMappingsMappingProject.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/DirectColumnMetadata.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metadata/columns/ColumnMetadata.java
Commit 78a5206fc3b2563020c3bdcc2887e110ce814376 by GitHub
Jakarta Persistence 3.2: JPQL generate missing Entity default `this` alias in simple SELECT queries (#2102)

This improvement ensure, that JPQL SELECT queries like `SELECT this FROM Entity` where entity alias is not specified in the `FROM` part will be automatically added. Default `this` alias is used as it specified by:
https://github.com/jakartaee/persistence/issues/452
There is automatic `SELECT this` generation for queries like `FROM Entity this` too.
This happens only for EclipseLink 5.0.0 and higher or for persistence property `eclipselink.jpql.validation` with value `None` or `JPA 3.2`.

It allows accept following queries like:

- `SELECT this FROM Entity` -> `SELECT this FROM Entity this`
- `SELECT COUNT(this) FROM Entity` -> `SELECT COUNT(this) FROM Entity this`
- `SELECT this FROM Entity this WHERE id = :id` -> `SELECT this FROM Entity this WHERE this.id = :id`
- `SELECT this FROM Entity WHERE id = :id AND UPPER(name) = 'NAME 1` -> `SELECT this FROM Entity this WHERE this.id = :id AND UPPER(this.name) = 'NAME 1'`
- `FROM Entity this` -> `SELECT this FROM Entity this`

Some test modifications in the `org.eclipse.persistence.jpa.testapps` module:

- `org.eclipse.persistence.testing.tests.jpa.jpql.advanced.JUnitJPQLComplexTest#testNoSelect`
- `org.eclipse.persistence.testing.tests.jpa.jpql.advanced.JUnitJPQLValidationTest#noAliasWithWHEREAndParameterExceptionTest`
- org.eclipse.persistence.testing.tests.jpql.JPQLExceptionTest#noAliasWithWHEREAndParameterExceptionTest (CORE)

Signed-off-by: Radek Felcman <radek.felcman@oracle.com>
(commit: 78a5206)
The file was addedjpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLExpressionTestJakartaData.java
The file was modified foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/jpql/JPQLExceptionTest.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AllJPQLParserTests.java
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.jpql/src/test/java/org/eclipse/persistence/testing/tests/jpa/jpql/advanced/JUnitJPQLComplexTest.java
The file was addedjpa/eclipselink.jpa.testapps/jpa.test.jpql/src/test/java/org/eclipse/persistence/testing/tests/jpa/jpql/advanced/JUnitJPQLJakartaDataNoAliasTest.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/Expression.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariable.java
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.jpql/src/main/resources/META-INF/persistence.xml
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBuilder.java
The file was addedjpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar5_0.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.java
The file was removedjpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar4_1.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/HermesParser.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractFromClause.java
The file was modified jpa/eclipselink.jpa.testapps/jpa.test.jpql/src/test/java/org/eclipse/persistence/testing/tests/jpa/jpql/advanced/JUnitJPQLValidationTest.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DefaultEclipseLinkJPQLGrammar.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLExpression.java
The file was modified jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/querydef/CommonAbstractCriteriaImpl.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLGrammarTools.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclaration.java
The file was modified jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/EclipseLinkVersion.java