Add Hibernate 7 batches 2-6, batch 7, and batch 8: mapping styles, JPA annotations, natural IDs, @Immutable, stored procedures, in-memory test databases, JNDI mocking, proxies, associations, temporal mapping, named queries, HQL, Criteria API, EntityManager bootstrapping, Ehcache 3 L2 cache configuration, HikariCP connection pooling, Hibernate Validator CDI integration, aggregate functions, sorting, pagination, interceptors, and Hibernate Search 8 (Hibernate 7.4.5.Final + Spring Boot 4.1.1 + JDK 25)
This commit is contained in:
Executable
+208
@@ -0,0 +1,208 @@
|
||||
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
|
||||
WARNING: sun.misc.Unsafe::staticFieldBase has been called by com.google.inject.internal.aop.HiddenClassDefiner (file:/tmp/tools/maven/lib/guice-5.1.0-classes.jar)
|
||||
WARNING: Please consider reporting this to the maintainers of class com.google.inject.internal.aop.HiddenClassDefiner
|
||||
WARNING: sun.misc.Unsafe::staticFieldBase will be removed in a future release
|
||||
HHH90000033: Encountered use of deprecated annotation [interface jakarta.persistence.Temporal] at com.ankurm.hibernatedemo.persistenceannotations.TemporalOnLocalDateEntity.eventDate.
|
||||
create global temporary table HTE_widget_batch_sweep10(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_batch_sweep10(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_batch_sweep1(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_batch_sweep1(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_batch_sweep25(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_batch_sweep25(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_alloc50(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_alloc50(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_identity_hash_set_entity(rn_ integer not null, id bigint, label varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_identity_hash_set_entity(rn_ integer not null, id bigint, label varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_book(rn_ integer not null, id bigint, version bigint, author varchar(255), status varchar(255), title varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_book(rn_ integer not null, id bigint, version bigint, author varchar(255), status varchar(255), title varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_mixed_access_entity(rn_ integer not null, id bigint, computedLabel varchar(255), rawValue varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_mixed_access_entity(rn_ integer not null, id bigint, computedLabel varchar(255), rawValue varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_alloc25(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_alloc25(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_sequence(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_sequence(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_alloc10(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_alloc10(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_enumerated_value_entity(rn_ integer not null, id bigint, priority varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_enumerated_value_entity(rn_ integer not null, id bigint, priority varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_json_column_entity(rn_ integer not null, id bigint, details json, primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_json_column_entity(rn_ integer not null, id bigint, details json, primary key (rn_)) transactional
|
||||
create global temporary table HTE_id_based_equals_entity(rn_ integer not null, id bigint, label varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_id_based_equals_entity(rn_ integer not null, id bigint, label varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_override_entity(rn_ integer not null, id bigint, value varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_override_entity(rn_ integer not null, id bigint, value varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_widget_batch_sweep50(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_widget_batch_sweep50(rn_ integer not null, id bigint, name varchar(255), primary key (rn_)) transactional
|
||||
create global temporary table HTE_enum_default_ordinal_entity(rn_ integer not null, status tinyint, id bigint, primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_enum_default_ordinal_entity(rn_ integer not null, status tinyint, id bigint, primary key (rn_)) transactional
|
||||
create global temporary table HTE_temporal_on_java_time_entity(eventDate date, rn_ integer not null, id bigint, primary key (rn_)) transactional
|
||||
Hibernate: create global temporary table HTE_temporal_on_java_time_entity(eventDate date, rn_ integer not null, id bigint, primary key (rn_)) transactional
|
||||
create table book (id bigint not null, author varchar(255), status varchar(255), title varchar(255), version bigint not null, primary key (id))
|
||||
Hibernate: create table book (id bigint not null, author varchar(255), status varchar(255), title varchar(255), version bigint not null, primary key (id))
|
||||
create table enum_default_ordinal_entity (id bigint not null, status tinyint check ((status between 0 and 2)), primary key (id))
|
||||
Hibernate: create table enum_default_ordinal_entity (id bigint not null, status tinyint check ((status between 0 and 2)), primary key (id))
|
||||
create table enumerated_value_entity (id bigint not null, priority varchar(255) check ((priority in ('H','L','M'))), primary key (id))
|
||||
Hibernate: create table enumerated_value_entity (id bigint not null, priority varchar(255) check ((priority in ('H','L','M'))), primary key (id))
|
||||
create table id_based_equals_entity (id bigint not null, label varchar(255), primary key (id))
|
||||
Hibernate: create table id_based_equals_entity (id bigint not null, label varchar(255), primary key (id))
|
||||
create table identity_hash_set_entity (id bigint not null, label varchar(255), primary key (id))
|
||||
Hibernate: create table identity_hash_set_entity (id bigint not null, label varchar(255), primary key (id))
|
||||
create table json_column_entity (id bigint not null, details json, primary key (id))
|
||||
Hibernate: create table json_column_entity (id bigint not null, details json, primary key (id))
|
||||
create table mixed_access_entity (id bigint not null, computed_label varchar(255), raw_value varchar(255), primary key (id))
|
||||
Hibernate: create table mixed_access_entity (id bigint not null, computed_label varchar(255), raw_value varchar(255), primary key (id))
|
||||
create table note (id bigint generated by default as identity, text varchar(255), book_id bigint, primary key (id))
|
||||
Hibernate: create table note (id bigint generated by default as identity, text varchar(255), book_id bigint, primary key (id))
|
||||
create table override_entity (id bigint not null, annotation_name varchar(255), primary key (id))
|
||||
Hibernate: create table override_entity (id bigint not null, annotation_name varchar(255), primary key (id))
|
||||
create table temporal_on_java_time_entity (id bigint not null, event_date date, primary key (id))
|
||||
Hibernate: create table temporal_on_java_time_entity (id bigint not null, event_date date, primary key (id))
|
||||
create table widget_alloc1 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_alloc1 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_alloc10 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_alloc10 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_alloc25 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_alloc25 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_alloc50 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_alloc50 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_batch_sweep1 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_batch_sweep1 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_batch_sweep10 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_batch_sweep10 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_batch_sweep25 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_batch_sweep25 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_batch_sweep50 (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_batch_sweep50 (id bigint not null, name varchar(255), primary key (id))
|
||||
create table widget_identity (id bigint generated by default as identity, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_identity (id bigint generated by default as identity, name varchar(255), primary key (id))
|
||||
create table widget_sequence (id bigint not null, name varchar(255), primary key (id))
|
||||
Hibernate: create table widget_sequence (id bigint not null, name varchar(255), primary key (id))
|
||||
create sequence book_seq start with 1 increment by 50
|
||||
Hibernate: create sequence book_seq start with 1 increment by 50
|
||||
create sequence enum_default_ordinal_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence enum_default_ordinal_entity_seq start with 1 increment by 50
|
||||
create sequence enumerated_value_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence enumerated_value_entity_seq start with 1 increment by 50
|
||||
create sequence id_based_equals_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence id_based_equals_entity_seq start with 1 increment by 50
|
||||
create sequence identity_hash_set_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence identity_hash_set_entity_seq start with 1 increment by 50
|
||||
create sequence json_column_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence json_column_entity_seq start with 1 increment by 50
|
||||
create sequence mixed_access_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence mixed_access_entity_seq start with 1 increment by 50
|
||||
create sequence override_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence override_entity_seq start with 1 increment by 50
|
||||
create sequence temporal_on_java_time_entity_seq start with 1 increment by 50
|
||||
Hibernate: create sequence temporal_on_java_time_entity_seq start with 1 increment by 50
|
||||
create sequence widget_alloc10_seq start with 1 increment by 10
|
||||
Hibernate: create sequence widget_alloc10_seq start with 1 increment by 10
|
||||
create sequence widget_alloc1_seq start with 1 increment by 1
|
||||
Hibernate: create sequence widget_alloc1_seq start with 1 increment by 1
|
||||
create sequence widget_alloc25_seq start with 1 increment by 25
|
||||
Hibernate: create sequence widget_alloc25_seq start with 1 increment by 25
|
||||
create sequence widget_alloc50_seq start with 1 increment by 50
|
||||
Hibernate: create sequence widget_alloc50_seq start with 1 increment by 50
|
||||
create sequence widget_batch_sweep1_seq start with 1 increment by 50
|
||||
Hibernate: create sequence widget_batch_sweep1_seq start with 1 increment by 50
|
||||
create sequence widget_seq start with 1 increment by 25
|
||||
Hibernate: create sequence widget_seq start with 1 increment by 25
|
||||
alter table if exists note add constraint FKrussm9y4vwyp0x6gl8n288ovv foreign key (book_id) references book
|
||||
Hibernate: alter table if exists note add constraint FKrussm9y4vwyp0x6gl8n288ovv foreign key (book_id) references book
|
||||
Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build as described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
|
||||
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
|
||||
WARNING: A Java agent has been loaded dynamically (/sessions/intelligent-loving-cori/.m2/repository/net/bytebuddy/byte-buddy-agent/1.18.11/byte-buddy-agent-1.18.11.jar)
|
||||
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
|
||||
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
|
||||
WARNING: Dynamic loading of agents will be disallowed by default in a future release
|
||||
select next value for id_based_equals_entity_seq
|
||||
Hibernate: select next value for id_based_equals_entity_seq
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.IdBasedEqualsEntity */insert into id_based_equals_entity (label,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.IdBasedEqualsEntity */insert into id_based_equals_entity (label,id) values (?,?)
|
||||
binding parameter (1:VARCHAR) <- [widget]
|
||||
binding parameter (2:BIGINT) <- [1]
|
||||
RESULT[id-based-equals-hashset-trap]: after persist(), e.getId()=1, set.contains(e) = false (same reference, same set, only the hash code changed)
|
||||
RESULT[id-based-equals-hashset-trap]: manual iteration foundByIteration = true -- confirms equals() itself still works; it's HashSet's bucket indexing that is now wrong.
|
||||
select next value for mixed_access_entity_seq
|
||||
Hibernate: select next value for mixed_access_entity_seq
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.MixedAccessEntity */insert into mixed_access_entity (computed_label,raw_value,id) values (?,?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.MixedAccessEntity */insert into mixed_access_entity (computed_label,raw_value,id) values (?,?,?)
|
||||
binding parameter (1:VARCHAR) <- [WIDGET]
|
||||
binding parameter (2:VARCHAR) <- [widget]
|
||||
binding parameter (3:BIGINT) <- [1]
|
||||
RESULT[mixed-access]: getComputedLabel() call count before persist=0, after commit/flush=2 (PROPERTY-access attributes are read via the getter at flush time, not via a backing field)
|
||||
/* dynamic native SQL query */ select computed_label from mixed_access_entity where id = 1
|
||||
Hibernate: /* dynamic native SQL query */ select computed_label from mixed_access_entity where id = 1
|
||||
RESULT[mixed-access]: DB column computed_label = WIDGET
|
||||
select next value for temporal_on_java_time_entity_seq
|
||||
Hibernate: select next value for temporal_on_java_time_entity_seq
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.TemporalOnLocalDateEntity */insert into temporal_on_java_time_entity (event_date,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.TemporalOnLocalDateEntity */insert into temporal_on_java_time_entity (event_date,id) values (?,?)
|
||||
binding parameter (1:DATE) <- [2026-01-15]
|
||||
binding parameter (2:BIGINT) <- [1]
|
||||
select tojte1_0.id,tojte1_0.event_date from temporal_on_java_time_entity tojte1_0 where tojte1_0.id=?
|
||||
Hibernate: select tojte1_0.id,tojte1_0.event_date from temporal_on_java_time_entity tojte1_0 where tojte1_0.id=?
|
||||
binding parameter (1:BIGINT) <- [1]
|
||||
RESULT[temporal-on-localdate]: boot succeeded (not silent -- Hibernate logs HHH90000033: Encountered use of deprecated annotation [interface jakarta.persistence.Temporal] at boot time, WARN level, one line per annotated field); round-tripped eventDate=2026-01-15. The mapping itself is unaffected -- LocalDate maps the same with or without @Temporal.
|
||||
HHH10001002: Using built-in connection pool (not intended for production use)
|
||||
create global temporary table HTE_enum_default_ordinal_entity(rn_ integer not null, status tinyint, id bigint, primary key (rn_)) transactional
|
||||
drop table if exists enum_default_ordinal_entity cascade
|
||||
drop sequence if exists enum_default_ordinal_entity_SEQ
|
||||
create sequence enum_default_ordinal_entity_SEQ start with 1 increment by 50
|
||||
create table enum_default_ordinal_entity (status tinyint check ((status between 0 and 2)), id bigint not null, primary key (id))
|
||||
select next value for enum_default_ordinal_entity_SEQ
|
||||
insert into enum_default_ordinal_entity (status,id) values (?,?)
|
||||
binding parameter (1:TINYINT) <- [SHIPPED]
|
||||
binding parameter (2:BIGINT) <- [1]
|
||||
select status from enum_default_ordinal_entity where id = 1
|
||||
RESULT[enum-ordinal-default]: stored ordinal for SHIPPED (V1 ordering) = 1
|
||||
HHH10001002: Using built-in connection pool (not intended for production use)
|
||||
select erve1_0.id,erve1_0.status from enum_default_ordinal_entity erve1_0 where erve1_0.id=?
|
||||
binding parameter (1:BIGINT) <- [1]
|
||||
RESULT[enum-ordinal-default]: same row re-read through V2 (PENDING_REVIEW inserted before SHIPPED) enum ordering = PENDING_REVIEW -- no exception thrown, silently resolves to the WRONG constant.
|
||||
select next value for json_column_entity_seq
|
||||
Hibernate: select next value for json_column_entity_seq
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.JsonColumnEntity */insert into json_column_entity (details,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.JsonColumnEntity */insert into json_column_entity (details,id) values (?,?)
|
||||
binding parameter (1:JSON) <- [{color=red, qty=5}]
|
||||
binding parameter (2:BIGINT) <- [1]
|
||||
select jce1_0.id,jce1_0.details from json_column_entity jce1_0 where jce1_0.id=?
|
||||
Hibernate: select jce1_0.id,jce1_0.details from json_column_entity jce1_0 where jce1_0.id=?
|
||||
binding parameter (1:BIGINT) <- [1]
|
||||
RESULT[jdbctypecode-json-h2]: persisted+loaded details={color=red, qty=5}
|
||||
/* dynamic native SQL query */ select data_type from information_schema.columns where table_name = 'JSON_COLUMN_ENTITY' and column_name = 'DETAILS'
|
||||
Hibernate: /* dynamic native SQL query */ select data_type from information_schema.columns where table_name = 'JSON_COLUMN_ENTITY' and column_name = 'DETAILS'
|
||||
RESULT[jdbctypecode-json-h2]: H2 column type for the JSON field = JSON
|
||||
select next value for enumerated_value_entity_seq
|
||||
Hibernate: select next value for enumerated_value_entity_seq
|
||||
select next value for enumerated_value_entity_seq
|
||||
Hibernate: select next value for enumerated_value_entity_seq
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
binding parameter (1:VARCHAR) <- [H]
|
||||
binding parameter (2:BIGINT) <- [1]
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
binding parameter (1:VARCHAR) <- [H]
|
||||
binding parameter (2:BIGINT) <- [2]
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
binding parameter (1:VARCHAR) <- [L]
|
||||
binding parameter (2:BIGINT) <- [3]
|
||||
/* select new com.ankurm.hibernatedemo.persistenceannotations.PriorityCountView(e.priority, count(e)) from EnumeratedValueEntity e group by e.priority order by e.priority */ select eve1_0.priority,count(eve1_0.id) from enumerated_value_entity eve1_0 group by eve1_0.priority order by eve1_0.priority
|
||||
Hibernate: /* select new com.ankurm.hibernatedemo.persistenceannotations.PriorityCountView(e.priority, count(e)) from EnumeratedValueEntity e group by e.priority order by e.priority */ select eve1_0.priority,count(eve1_0.id) from enumerated_value_entity eve1_0 group by eve1_0.priority order by eve1_0.priority
|
||||
RESULT[jpa32-record-constructor-expression]: [PriorityCountView[priority=HIGH, total=2], PriorityCountView[priority=LOW, total=1]]
|
||||
/* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
Hibernate: /* insert for com.ankurm.hibernatedemo.persistenceannotations.EnumeratedValueEntity */insert into enumerated_value_entity (priority,id) values (?,?)
|
||||
binding parameter (1:VARCHAR) <- [H]
|
||||
binding parameter (2:BIGINT) <- [4]
|
||||
/* dynamic native SQL query */ select priority from enumerated_value_entity where id = 4
|
||||
Hibernate: /* dynamic native SQL query */ select priority from enumerated_value_entity where id = 4
|
||||
select eve1_0.id,eve1_0.priority from enumerated_value_entity eve1_0 where eve1_0.id=?
|
||||
Hibernate: select eve1_0.id,eve1_0.priority from enumerated_value_entity eve1_0 where eve1_0.id=?
|
||||
binding parameter (1:BIGINT) <- [4]
|
||||
RESULT[jpa32-enumeratedvalue]: raw DB value for HIGH = 'H' (neither ordinal '2' nor name 'HIGH' -- the @EnumeratedValue-annotated code 'H')
|
||||
/* select e from EnumeratedValueEntity e where e.id = :id */ select eve1_0.id,eve1_0.priority from enumerated_value_entity eve1_0 where eve1_0.id=?
|
||||
Hibernate: /* select e from EnumeratedValueEntity e where e.id = :id */ select eve1_0.id,eve1_0.priority from enumerated_value_entity eve1_0 where eve1_0.id=?
|
||||
binding parameter (1:BIGINT) <- [-999]
|
||||
RESULT[jpa32-getsingleresultornull]: query matching zero rows via getSingleResultOrNull() = null (getSingleResult() would have thrown NoResultException here)
|
||||
Reference in New Issue
Block a user