1. null check on variable `metadata` is missing in method `existsById`
2. `CrudMethodMetadata::getComment` should be `@Nullable`
Closes#2991
Original pull request: #2995
Simplify code flow. Introduce flag to capture whether a stored procedure uses collection return types.
Remove unconditionally the Optional converter as we're already on Java 17 and do not require the Java 8 guard.
See #2915
Original pull request: #2938
If the JPA provider's implementation of StoredProcedureQuery implements AutoCloseable, invoke the close method when completed.
Resolves#2915.
Original pull request: #2938
We support wrapping parameters (named or positional) with optional wildcards when doing LIKE patterns. This is out-of-band and requires moving the wildcards into the bindings. To stop doing this and causing race conditions, we can instead rewrite the queries using the CONCAT function. This function is standard across relational database (native queries) as well as JPA providers (Hibernate and EclipseLink).
See #2939
See #2760
Original Pull Request: #2940
Superceding Pull Request: #2944
Certain test cases should be disabled based on the version of Hibernate. We should also run the entire test suite against both Hibernate 6.1 and 6.2, to ensure maxiumum support.
Resolves#2921.
Related: #2927.
Under still to clarify circumstances a class processed by Hibernate might result in proxies *not* created for a otherwise proxied relationship. So far, our tests have relied on those cases always return a proxy reliably but some optimizations in Hibernate 6.2 (likely [0]) don't allow creating proxies reliably.
Until we find a better way to reliably create a proxy we back off from strictly checking whether we deal with a proxy.
Related tickets: #2899.
[0] https://hibernate.atlassian.net/browse/HHH-15790
Move off deprecated Hibernate Postgres 9.1 dialect.
Switch order of persistence provider dependencies. Hibernate 6.2 needs to be declared before Eclipselink as the latter pulls in JPA 3.0 but the former now strongly requires 3.1.
Related tickets: #2899.
A native SQL function with ';' as an argument, e.g. listagg(a.b, ';'), will fail to find anything after it (like an alias). By adding ';' to the list of approved function tokens, queries with functional aliases will work properly.
Resolves#2884.
Original pull request: #2891
We're now more specific on what CRUD methods means in the context of transactional query methods. Also, we now mention default methods explicitly in the discussion of query methods.
Fixes#2868.
This allows the Hibernate variant (HibernateJpaParametersParameterAccessor) to potentially unwrap TypedParameterValue.
Closes#2857
Original pull request #2859