Add hibernate-demo: get() vs load(), merge() vs refresh(), inserting objects (Hibernate 7.4.1.Final + Spring Boot 4.1.0)
Adds a JUnit test suite (GetVsGetReferenceTest, MergeRefreshTest, OptimisticLockTest, IdentityBatchTest, SequenceBatchTest, AllocationSizeSweepTest, BatchSizeSweepTest) so every surprising behavior described in the three companion posts has a reproducible test, alongside the original CommandLineRunner scenarios. Rewrites all three doc chapters and the README around the new experiments: the get()/getReference() same-session matrix, the merge()/refresh() experiments (including exactly when OptimisticLockException surfaces and a corrected LAZY-plus- cascade merge() result), and two new sweeps (allocationSize, batch_size) for batch inserts.
This commit is contained in:
18
scripts/run.sh
Executable file
18
scripts/run.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
# Run one scenario in the foreground and exit.
|
||||
#
|
||||
# ./scripts/run.sh getvsload
|
||||
# ./scripts/run.sh mergerefresh
|
||||
# ./scripts/run.sh insert-identity
|
||||
# ./scripts/run.sh insert-sequence
|
||||
#
|
||||
# Every scenario here is a CommandLineRunner against an in-memory H2 database with
|
||||
# spring.main.web-application-type=none, so there is no server to keep alive and nothing to
|
||||
# kill afterwards -- the process runs the scenario and exits on its own.
|
||||
set -eu
|
||||
|
||||
PROFILE="${1:?usage: run.sh <getvsload|mergerefresh|insert-identity|insert-sequence>}"
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
mvn -q -B org.springframework.boot:spring-boot-maven-plugin:run \
|
||||
-Dspring-boot.run.profiles="$PROFILE"
|
||||
Reference in New Issue
Block a user