Hibernate 7.4.14.Final (plus an 8.0.0.Beta4 preview run), H2 2.5.252, PostgreSQL 17.11 in Docker. Same-JVM and cross-zone round trips, @TimeZoneStorage modes, DST gap/overlap, precision (precision vs secondPrecision), hibernate.jdbc.time_zone, java_time_use_direct_jdbc default flip. Supersedes the date/time experiments of docs/13 (7.4.5); chapter 13 is unchanged. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b7rnC7jppGGdHGESvy
33 lines
1.8 KiB
Bash
Executable File
33 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Writes output/10-javap-*.txt: what the jars themselves say (constants, deprecations, setting names).
|
|
# Needs the jars in ~/.m2, so run it after a Maven build of each Hibernate line (run-all.sh does).
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
M="$HOME/.m2/repository"
|
|
H7="$M/org/hibernate/orm/hibernate-core/7.4.14.Final/hibernate-core-7.4.14.Final.jar"
|
|
H8="$M/org/hibernate/orm/hibernate-core/8.0.0.Beta4/hibernate-core-8.0.0.Beta4.jar"
|
|
P32="$M/jakarta/persistence/jakarta.persistence-api/3.2.0/jakarta.persistence-api-3.2.0.jar"
|
|
P40="$M/jakarta/persistence/jakarta.persistence-api/4.0.0-M7/jakarta.persistence-api-4.0.0-M7.jar"
|
|
jp() { javap "$@" 2>&1 | grep -v '^Picked up'; }
|
|
mkdir -p output
|
|
{
|
|
for pair in "7.4.14.Final:$H7" "8.0.0.Beta4:$H8"; do
|
|
v="${pair%%:*}"; j="${pair#*:}"
|
|
echo "## hibernate-core $v: org.hibernate.annotations.TimeZoneStorageType"
|
|
jp -cp "$j" org.hibernate.annotations.TimeZoneStorageType | grep 'public static final'
|
|
echo "## hibernate-core $v: relevant setting names"
|
|
jp -constants -cp "$j" org.hibernate.cfg.MappingSettings | grep -E 'JAVA_TIME|PREFERRED_INSTANT|TIMEZONE_DEFAULT' | sed 's/^ *//'
|
|
jp -constants -cp "$j" org.hibernate.cfg.JdbcSettings | grep -E 'JDBC_TIME_ZONE' | sed 's/^ *//'
|
|
done
|
|
} > output/10-javap-hibernate-settings.txt
|
|
{
|
|
for pair in "3.2.0:$P32" "4.0.0-M7:$P40"; do
|
|
v="${pair%%:*}"; j="${pair#*:}"
|
|
echo "## jakarta.persistence-api $v: jakarta.persistence.Temporal"
|
|
jp -v -cp "$j" jakarta.persistence.Temporal | grep -E 'Deprecated: true|since|public interface'
|
|
echo "## jakarta.persistence-api $v: jakarta.persistence.Column second-precision attribute"
|
|
jp -cp "$j" jakarta.persistence.Column | grep -iE 'precision'
|
|
done
|
|
} > output/10-javap-jakarta-persistence.txt
|
|
ls -1 output/10-*
|