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: keploy/samples-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: keploy/samples-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feat/hibernate-cache-tour-postgres
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 12 files changed
  • 1 contributor

Commits on Apr 25, 2026

  1. feat(hibernate-cache-tour): add Postgres v3 codec drift reproducer

    Spring Boot 3 + Hibernate 6 + Postgres 16 sample that exercises two
    specific drift signatures in keploy's Postgres v3 logical codec:
    
      * Issue #1 — pgjdbc prepareThreshold flip. Each WHERE-id JpaRepository
        finder is hit with the same id-space repeating every 4 calls so the
        5th execution on a given handle straddles pgjdbc's prepareThreshold
        (default 5) and flips the bind format text -> binary mid-recording.
    
      * Issue #3 — Hibernate StatementCache classification drift. Query +
        second-level cache are enabled (EHCache 3.x via JCache); a request
        interceptor evicts the L2 cache on every keploy.io/test-name change
        so per-test boundaries observably re-run the pgjdbc bind path.
    
    Schema: customer(id, name, email) + customer_tag(id, customer_id, tag,
    priority). init.sql seeds 4 customers (ids 1..4) and 8 tags so the CI
    exerciser can hit deterministic ids without first POSTing fixtures.
    
    Endpoints: POST /customer, GET /customer/{id}, GET /customer/{id}/tags,
    GET /tags?priority=N, POST /tag.
    
    The CI harness driving this sample lives in keploy/integrations at
    .ci/scripts/java/hibernate-cache-tour-postgres/.
    
    Signed-off-by: Shubham <shubham@keploy.io>
    slayerjain committed Apr 25, 2026
    Configuration menu
    Copy the full SHA
    321d6e3 View commit details
    Browse the repository at this point in the history
  2. fix(hibernate-cache-tour): add spring-boot-starter-cache for L2 wiring

    The Hibernate L2 / query cache is enabled in application.properties via
    hibernate-jcache + EHCache 3.x, but the Spring context still needs a
    CacheManager bean to satisfy the JPA layer's cache-related autowires.
    Without spring-boot-starter-cache, Spring never auto-configures one and
    entityManagerFactory creation fails on boot — Tomcat binds 8080 but the
    JPA layer is dead, so every request crashes after the dispatcher.
    
    Dropping the starter in next to hibernate-jcache fixes it; the rest of
    the cache config (region factory, EHCache config) is unchanged.
    
    Signed-off-by: Shubham <shubham@keploy.io>
    slayerjain committed Apr 25, 2026
    Configuration menu
    Copy the full SHA
    b8f63cb View commit details
    Browse the repository at this point in the history
Loading