Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: hibernate/hibernate-orm
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6.2.36
Choose a base ref
...
head repository: hibernate/hibernate-orm
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6.3.0
Choose a head ref

Commits on Jan 27, 2023

  1. Copy the full SHA
    640161f View commit details
  2. HHH-16020 - Fix for error that surfaced in the LegacyOracleLimitHandl…

    …er due to the fix for HHH-16020
    
    Signed-off-by: Jan Schatteman <jschatte@redhat.com>
    jrenaat authored and beikov committed Jan 27, 2023
    Copy the full SHA
    cbf6334 View commit details
  3. HHH-15822 Add test for issue

    mbladel authored and beikov committed Jan 27, 2023
    Copy the full SHA
    dcf6280 View commit details
  4. Copy the full SHA
    0a43432 View commit details
  5. Copy the full SHA
    46104cc View commit details
  6. HHH-4299 - Add test for issue

    Signed-off-by: Jan Schatteman <jschatte@redhat.com>
    jrenaat authored and beikov committed Jan 27, 2023
    Copy the full SHA
    b39c52b View commit details
  7. Copy the full SHA
    67f8bee View commit details
  8. Copy the full SHA
    16ca1a0 View commit details
  9. Unify example includes in terms of well-defined asciidoc attributes

    preparation step for moving tests out of `documentation` and into the proper projects (core, envers and spatial)
    sebersole committed Jan 27, 2023
    Copy the full SHA
    fd3670b View commit details

Commits on Jan 28, 2023

  1. Copy the full SHA
    2c78d83 View commit details

Commits on Jan 30, 2023

  1. HHH-16104 Clarify that tests in package org.hibernate.orm.test.cdi.ge…

    …neral.nonregistrymanaged are about Hibernate Search
    
    By renaming that package to
    org.hibernate.orm.test.cdi.general.hibernatesearch, renaming the test
    classes to include "HibernateSearch" in their name, and adapting
    comments.
    yrodiere committed Jan 30, 2023
    Copy the full SHA
    ff8b673 View commit details
  2. Fix wrong @deprecated since version

    quaff authored and Sanne committed Jan 30, 2023
    Copy the full SHA
    cd50a98 View commit details

Commits on Jan 31, 2023

  1. Copy the full SHA
    cc42864 View commit details

Commits on Feb 1, 2023

  1. HHH-16124 Remove deprecated method CacheTransactionSynchronization#ge…

    …tCurrentTransactionStartTimestamp
    Sanne committed Feb 1, 2023
    Copy the full SHA
    b103004 View commit details

Commits on Feb 2, 2023

  1. remove unused imports

    gavinking committed Feb 2, 2023
    Copy the full SHA
    f6f2db1 View commit details
  2. Fix HANA test issues

    beikov committed Feb 2, 2023
    Copy the full SHA
    f11a18d View commit details

Commits on Feb 3, 2023

  1. HHH-16003 Add test for issue

    mbladel authored and beikov committed Feb 3, 2023
    Copy the full SHA
    2e3a18a View commit details
  2. Copy the full SHA
    e884ab3 View commit details
  3. HHH-15665 - Fix and added test for issue

    Signed-off-by: Jan Schatteman <jschatte@redhat.com>
    jrenaat authored and beikov committed Feb 3, 2023
    Copy the full SHA
    0cac315 View commit details
  4. HHH-15969 Add test for issue

    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    08941ba View commit details
  5. Copy the full SHA
    ba0fa8c View commit details
  6. HHH-15970 Add test for issue

    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    9b59f7c View commit details
  7. HHH-15944 Add test for issue

    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    ab7d05c View commit details
  8. Copy the full SHA
    bea5bfb View commit details
  9. HHH-16120 Add test for issue

    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    3f814d8 View commit details
  10. Copy the full SHA
    d34f505 View commit details
  11. HHH-16075 Add test for issue

    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    b2f0ead View commit details
  12. HHH-16117 Add test for issue

    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    7b6d158 View commit details
  13. HHH-16117 Querying entity with collection in Embeddable causes 'A col…

    …lection with cascade=all-delete-orphan was no longer referenced by the owning entity instance'
    dreab8 authored and beikov committed Feb 3, 2023
    Copy the full SHA
    974afe2 View commit details
  14. HHH-16040 Add test for issue

    mbladel authored and beikov committed Feb 3, 2023
    Copy the full SHA
    bb0f4b2 View commit details
  15. HHH-15916 Add test for issue

    mbladel authored and beikov committed Feb 3, 2023
    Copy the full SHA
    b2689fa View commit details
  16. Copy the full SHA
    890e4ad View commit details
  17. Update 'com.gradle.enterprise' to '3.12.3', 'com.gradle.common-custom…

    …-user-data-gradle-plugin' to '1.8.2', GitHub actions workflow steps setup-java, cache and upload-artifact to v3, and run dependabot on github actions versions
    beikov committed Feb 3, 2023
    Copy the full SHA
    8bce595 View commit details
  18. HHH-15998 Add test for issue

    mbladel authored and beikov committed Feb 3, 2023
    Copy the full SHA
    027c308 View commit details
  19. HHH-15991 Add test for issue

    mbladel authored and beikov committed Feb 3, 2023
    Copy the full SHA
    a34182d View commit details
  20. Copy the full SHA
    c7541cf View commit details

Commits on Feb 6, 2023

  1. Fix tests for Oracle 11

    beikov committed Feb 6, 2023
    Copy the full SHA
    3df56ac View commit details
  2. Copy the full SHA
    5638800 View commit details
  3. Copy the full SHA
    0e6c111 View commit details
  4. HHH-15707 - Fix Gradle plugin with Kotlin 1.7.0 or higher

    Since Kotlin version 1.7.0 the KotlinCompile task no longer extends
    Gradle's AbstractCompile.
    
    This commit updates Hibernate Gradle enhancement plugin to not cast to
    AbstractCompile and instead use reflection to invoke the
    "getDestinationDirectory" method.
    
    It also updates the Kotlin version on used to test the Gradle
    enhancement (but remains backwards compatible with previous Kotlin
    versions).
    tomas-c authored and beikov committed Feb 6, 2023
    1
    Copy the full SHA
    07529c3 View commit details
  5. HHH-15733 Add test for issue

    mbladel authored and beikov committed Feb 6, 2023
    Copy the full SHA
    b1a16f4 View commit details
  6. HHH-15733 Change convert logic to default to value for Map collection…

    …s of basic types
    mbladel authored and beikov committed Feb 6, 2023
    Copy the full SHA
    2f6f179 View commit details
  7. HHH-16081 - Converted collection-as-basic values are considered immut…

    …able
    
    HHH-16132 - Dirty checking broken for collection-as-basic mappings (test)
    sebersole committed Feb 6, 2023
    Copy the full SHA
    6371577 View commit details

Commits on Feb 7, 2023

  1. Copy the full SHA
    aa76d05 View commit details
  2. [HHH-16122] Fix determining the type of a property during type variab…

    …le resolving for mapped superclasses
    beikov committed Feb 7, 2023
    Copy the full SHA
    f284273 View commit details

Commits on Feb 8, 2023

  1. Copy the full SHA
    5e26bf0 View commit details
  2. HHH-16151 - Fix potential NullPointerException in SqmTreePrinter for …

    …the like excape character
    
    Signed-off-by: Jan Schatteman <jschatte@redhat.com>
    jrenaat authored and beikov committed Feb 8, 2023
    Copy the full SHA
    8b9d199 View commit details
  3. Copy the full SHA
    0b4b52b View commit details
  4. HHH-16131 - Added workaround and test for date calculcation errors on…

    … Oracle
    
    Temporarily excluded TiDB from that test (until they fix pingcap/tidb#41052)
    
    Added tidb to the docker_db script
    
    Signed-off-by: Jan Schatteman <jschatte@redhat.com>
    jrenaat authored and beikov committed Feb 8, 2023
    Copy the full SHA
    35682e5 View commit details
  5. Remove calls to deprecated createQuery method from FunctionTests

    Signed-off-by: Jan Schatteman <jschatte@redhat.com>
    jrenaat authored and beikov committed Feb 8, 2023
    Copy the full SHA
    6052066 View commit details
Showing 3,819 changed files with 198,483 additions and 62,175 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -14,3 +14,7 @@ updates:
- gradle-plugin-portal
schedule:
interval: "weekly"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
1 change: 1 addition & 0 deletions .github/hibernate-github-bot.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
jira:
projectKey: "HHH"
insertLinksInPullRequests: true
8 changes: 4 additions & 4 deletions .github/workflows/contributor-build.yml
Original file line number Diff line number Diff line change
@@ -51,7 +51,7 @@ jobs:
# Running with HANA requires at least 8GB memory just for the database, which we don't have on GH Actions runners
# - rdbms: hana
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
persist-credentials: false
- name: Reclaim Disk Space
@@ -61,7 +61,7 @@ jobs:
RDBMS: ${{ matrix.rdbms }}
run: ci/database-start.sh
- name: Set up Java 11
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
@@ -70,7 +70,7 @@ jobs:
run: echo "yearmonth=$(/bin/date -u "+%Y-%m")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache Maven local repository
uses: actions/cache@v2
uses: actions/cache@v3
id: cache-maven
with:
path: |
@@ -85,7 +85,7 @@ jobs:
run: ./ci/build-github.sh
shell: bash
- name: Upload test reports (if Gradle failed)
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: test-reports-java11-${{ matrix.rdbms }}
45 changes: 18 additions & 27 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -41,15 +41,14 @@ stage('Configure') {
// new BuildEnvironment( dbName: 'hana_cloud', dbLockableResource: 'hana-cloud', dbLockResourceAsHost: true ),
new BuildEnvironment( node: 's390x' ),
new BuildEnvironment( dbName: 'tidb', node: 'tidb',
additionalOptions: '-DdbHost=localhost:4000',
notificationRecipients: 'tidb_hibernate@pingcap.com' ),
new BuildEnvironment( testJdkVersion: '17' ),
// We want to enable preview features when testing newer builds of OpenJDK:
// even if we don't use these features, just enabling them can cause side effects
// and it's useful to test that.
new BuildEnvironment( testJdkVersion: '19', testJdkLauncherArgs: '--enable-preview' ),
new BuildEnvironment( testJdkVersion: '20', testJdkLauncherArgs: '--enable-preview' ),
new BuildEnvironment( testJdkVersion: '21', testJdkLauncherArgs: '--enable-preview' )
new BuildEnvironment( testJdkVersion: '21', testJdkLauncherArgs: '--enable-preview' ),
new BuildEnvironment( testJdkVersion: '22', testJdkLauncherArgs: '--enable-preview' )
];

if ( env.CHANGE_ID ) {
@@ -59,6 +58,9 @@ stage('Configure') {
if ( pullRequest.labels.contains( 'hana' ) ) {
this.environments.add( new BuildEnvironment( dbName: 'hana_cloud', dbLockableResource: 'hana-cloud', dbLockResourceAsHost: true ) )
}
if ( pullRequest.labels.contains( 'sybase' ) ) {
this.environments.add( new BuildEnvironment( dbName: 'sybase_jconn' ) )
}
}

helper.configure {
@@ -124,18 +126,10 @@ stage('Build') {
try {
stage('Start database') {
switch (buildEnv.dbName) {
case "h2_1_4":
state[buildEnv.tag]['additionalOptions'] = state[buildEnv.tag]['additionalOptions'] +
" -Pgradle.libs.versions.h2=1.4.197 -Pgradle.libs.versions.h2gis=1.5.0"
break;
case "hsqldb_2_6":
state[buildEnv.tag]['additionalOptions'] = state[buildEnv.tag]['additionalOptions'] +
" -Pgradle.libs.versions.hsqldb=2.6.1"
break;
case "derby_10_14":
state[buildEnv.tag]['additionalOptions'] = state[buildEnv.tag]['additionalOptions'] +
" -Pgradle.libs.versions.derby=10.14.2.0"
break;
case "mysql":
docker.withRegistry('https://index.docker.io/v1/', 'hibernateci.hub.docker.com') {
docker.image('mysql:8.0.31').pull()
@@ -172,24 +166,11 @@ stage('Build') {
sh "./docker_db.sh postgresql"
state[buildEnv.tag]['containerName'] = "postgres"
break;
case "postgresql_10":
// use the postgis image to enable the PGSQL GIS (spatial) extension
docker.withRegistry('https://index.docker.io/v1/', 'hibernateci.hub.docker.com') {
docker.image('postgis/postgis:10-2.5').pull()
}
sh "./docker_db.sh postgresql_10"
state[buildEnv.tag]['containerName'] = "postgres"
break;
case "edb":
docker.image('quay.io/enterprisedb/edb-postgres-advanced:14.5-3.2-postgis').pull()
docker.image('quay.io/enterprisedb/edb-postgres-advanced:15.2-3.3-postgis').pull()
sh "./docker_db.sh edb"
state[buildEnv.tag]['containerName'] = "edb"
break;
case "edb_10":
docker.image('quay.io/enterprisedb/edb-postgres-advanced:10.22').pull()
sh "./docker_db.sh edb_10"
state[buildEnv.tag]['containerName'] = "edb"
break;
case "oracle":
docker.withRegistry('https://index.docker.io/v1/', 'hibernateci.hub.docker.com') {
docker.image('gvenzl/oracle-xe:21.3.0-full').pull()
@@ -235,6 +216,13 @@ stage('Build') {
sh "./docker_db.sh sybase"
state[buildEnv.tag]['containerName'] = "sybase"
break;
case "sybase_jconn":
docker.withRegistry('https://index.docker.io/v1/', 'hibernateci.hub.docker.com') {
docker.image('nguoianphu/docker-sybase').pull()
}
sh "./docker_db.sh sybase"
state[buildEnv.tag]['containerName'] = "sybase"
break;
case "cockroachdb":
docker.withRegistry('https://index.docker.io/v1/', 'hibernateci.hub.docker.com') {
docker.image('cockroachdb/cockroach:v22.2.2').pull()
@@ -256,8 +244,11 @@ stage('Build') {
withEnv(["RDBMS=${buildEnv.dbName}"]) {
try {
if (buildEnv.dbLockableResource == null) {
timeout( [time: buildEnv.longRunning ? 480 : 120, unit: 'MINUTES'] ) {
sh cmd
withCredentials([file(credentialsId: 'sybase-jconnect-driver', variable: 'jconnect_driver')]) {
sh 'cp -f $jconnect_driver ./drivers/jconn4.jar'
timeout( [time: buildEnv.longRunning ? 480 : 120, unit: 'MINUTES'] ) {
sh cmd
}
}
}
else {
35 changes: 29 additions & 6 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
Hibernate ORM is a library providing Object/Relational Mapping (ORM) support
to applications, libraries, and frameworks.
Hibernate ORM is a powerful object/relational mapping solution for Java, and makes it easy to develop persistence logic for applications, libraries, and frameworks.

It also provides an implementation of the JPA specification, which is the standard Java specification for ORM.
Hibernate implements JPA, the standard API for object/relational persistence in Java, but also offers an extensive set of features and APIs which go beyond the specification.

This is the repository of its source code; see https://hibernate.org/orm/[Hibernate.org] for additional information.
See https://hibernate.org/orm/[Hibernate.org] for more information.

image:https://ci.hibernate.org/job/hibernate-orm-pipeline/job/main/badge/icon[Build Status,link=https://ci.hibernate.org/job/hibernate-orm-pipeline/job/main/]
image:https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A[link=https://ge.hibernate.org/scans]
@@ -18,7 +17,7 @@ for its CI needs. See

== Building from sources

The build requires at least Java 11 JDK.
The build requires at least Java 11 and at most Java 17.

Hibernate uses https://gradle.org[Gradle] as its build tool. See the _Gradle Primer_ section below if you are new to
Gradle.
@@ -188,15 +187,39 @@ The following table illustrates a list of commands for various databases that ca
|`./docker_db.sh mssql`
|`./gradlew test -Pdb=mssql_ci`

|Sybase ASE
|Sybase ASE (jTDS)
|`./docker_db.sh sybase`
|`./gradlew test -Pdb=sybase_ci`

|Sybase ASE (jConnect)
|`./docker_db.sh sybase`
|`./gradlew test -Pdb=sybase_jconn_ci`

|SAP HANA
|`./docker_db.sh hana`
|`./gradlew test -Pdb=hana_ci`

|CockroachDB
|`./docker_db.sh cockroachdb`
|`./gradlew test -Pdb=cockroachdb`

|TiDB
|`./docker_db.sh tidb`
|`./gradlew test -Pdb=tidb`
|===

To stop a container started by `docker`, use the command

[source]
----
docker stop $container_name
----

NOTE:: Substitute `podman` command for `docker` if using `podman`

E.g., to stop the mariadb container

[source]
----
docker stop mariadb
----
25 changes: 25 additions & 0 deletions branching.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
= ORM Branching

Describes the paradigm used for branching within the ORM project

[[branches]]
== The Branches

* `main` is where we do "latest stable" development. Which specific release family this targets is dependent upon the "critical mass" discussion in <<process>>.
* "Dedicated release branches" (`5.6`, `6.0`, `6.1`, `6.2`, ...) represent previous, no longer supported releases. Branched for posterity.
* PR branches for new features, improvements, disruptive bugfixes, etc target main
* PR branches for performance improvements, security fixes and bugfixes target the affected minor branches (which could be main for a short period of time)

[[process]]
== THe Process

Process (using 6.3 -> 6.4 as an example):

* As mentioned, all new features, improvements, disruptive bugfixes, etc. are developed on topic branches (PR) against main. Based on sprint planning, these will be given a priority and target a particular major/minor release.
* Once we have critical mass for topic branches targeting 6.4:
* `main` will be branched as `6.3` and a 6.3.x release will be done.
* The finished topic branches will be integrated into main and a 6.4.0 Alpha (or Beta or CR)[1] release will be done.
* A bot will cherry-pick changes made to the latest "dedicated release branch" (here, 6.3) and create a PR against main (on the assumption that these changes might be needed there as well). TBD if we want to auto-apply these PRs on successful build.
* PRs against older "dedicated release branches", will first be rebased to the latest stable branch and applied. We'll decide between 6.3 and main based mostly on ; if 6.3, the bot will pick it up.

[1] Historically I am not a huge fan of a full Alpha/Beta/CR cycle for minor releases, usually just doing CRs. But open to convincing otherwise.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -25,6 +25,9 @@ plugins {
id 'org.hibernate.orm.database-service' apply false
id 'biz.aQute.bnd' version '6.3.1' apply false

id 'org.checkerframework' version '0.6.25'
id 'org.hibernate.orm.build.jdks'

id 'io.github.gradle-nexus.publish-plugin' version '1.1.0'

id 'idea'
@@ -44,9 +47,7 @@ task release {
"themselves if they have any release-related activities to perform"

doFirst {
def javaVersionsInUse = [gradle.ext.javaVersions.main.compiler, gradle.ext.javaVersions.main.release,
gradle.ext.javaVersions.test.compiler, gradle.ext.javaVersions.test.release,
gradle.ext.javaVersions.test.launcher].toSet()
def javaVersionsInUse = jdkVersions.allVersions
if ( javaVersionsInUse != [JavaLanguageVersion.of( 11 )].toSet() ) {
throw new IllegalStateException( "Please use JDK 11 to perform the release. Currently using: ${javaVersionsInUse}" )
}
Loading