Commit Graph

8231 Commits

Author SHA1 Message Date
Steve Ebersole d52ebfb41d HHH-15099 - Improve handling of associations marked with @NotFound
- Keep track of NotFoundAction into mapping model
- Fix tests with erroneous assertions about `@NotFound` associations allowed to be lazy
2022-03-05 08:59:31 -06:00
Steve Ebersole de97e8e1a4 HHH-15099 - Improve handling of associations marked with @NotFound
- Tests
2022-03-05 08:59:31 -06:00
Christian Beikov bdf8b2fc2e Fully generify and simplify UserType contract 2022-03-04 11:14:17 +01:00
Steve Ebersole e5c719b843 HHH-15099 - Improve handling of associations marked with @NotFound
- Tests
2022-03-03 16:13:49 -06:00
Steve Ebersole 2ced4caa2c NonLazyEntityFetch improvements 2022-03-03 16:04:42 -06:00
Steve Ebersole ec737a7f15 HHH-15099 - Improve handling of associations marked with @NotFound
- Disable physical foreign-key export for `@NotFound` mappings
2022-03-03 15:45:58 -06:00
Sanne Grinovero 572171e27f Jandex, Classmate and commons annotations shouldn't be listed as API 2022-03-03 19:23:58 +00:00
Christian Beikov e9b3066f93 Add sql type name and size information to selectable mapping 2022-03-03 10:34:26 +01:00
Yoann Rodière 3d8f5db3e0 HHH-15090 Allow passing unloaded types and a TypePool to ByteBuddyProxyHelper#buildUnloadedProxy
This is necessary to solve this bug in Quarkus.
2022-03-03 09:39:23 +01:00
Yoann Rodière 9dcd5e55b1 HHH-15090 Test lazy loading with extended bytecode enhancement and inheritance 2022-03-03 09:39:23 +01:00
Yoann Rodière e989f20b33 HHH-15090 Fix access to public field with extended bytecode enhancement returning null for entity lazy-loaded from polymorphic toOne association 2022-03-03 09:39:23 +01:00
Christian Beikov b6b500200b Use BAG for unowned OneToMany and throw an error if @OrderColumn is found on unowned ManyToMany 2022-03-02 17:02:53 +01:00
Christian Beikov a91d23825f Make list semantics setting explicit for failing tests 2022-03-02 17:02:53 +01:00
Christian Beikov 7aaeebe3af Switch back to bag by default for list semantics 2022-03-02 17:02:53 +01:00
Yoann Rodière 4f7d4b7fdb HHH-15094 Handle http://hibernate.org and https://hibernate.org for DTDs in LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Yoann Rodière 19073672db HHH-15094 Handle both HTTP and HTTPS versions of DTDs in LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Yoann Rodière 8c263b3945 HHH-15094 Test LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Yoann Rodière 8c0bc94480 HHH-15094 Remove duplicate DTD descriptor 2022-03-01 16:23:38 +00:00
Yoann Rodière d56032ab7f HHH-15094 Add JPA 3.0 XSDs to LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Brian Stansberry 9a23a679bd HHH-15084 Remove use of BeanManager.createInjectionTarget(AnnotatedType) 2022-02-28 12:34:35 +00:00
Christian Beikov 8e6fb5636b Adapt EmbeddableInstantiator and CompositeUserType to accept a ValueAccess instead of a Supplier 2022-02-25 19:15:38 +01:00
Christian Beikov c520b48487 Implement support for CompositeUserType and re-enable tests that make use of it 2022-02-25 15:36:16 +01:00
Christian Beikov 277f10d987 Support implicit joins in plural path parts and fix issues with type resolving of sub query paths 2022-02-24 07:16:38 +01:00
Christian Beikov 247689824f Re-enable some tests 2022-02-24 07:16:38 +01:00
Christian Beikov 335ed19821 Various fixes
* Fix parsing soft-keywords as naked identifiers
* Create proper correlations during parsing
* Fix some type inference issues with entity valued paths
2022-02-24 07:16:38 +01:00
Andrea Boriero 075cc8d108 Fix not increase the statistic loaded entity number when query cache is hit 2022-02-23 09:37:22 +01:00
Yoann Rodière cf9d131d35 HHH-15082 Correctly propagate the original exception when aborting a JDBC batch fails
Not strictly necessary, but it's related to these changes
and I think it's a good idea.
2022-02-18 20:36:58 +00:00
Yoann Rodière 14c8fb752d HHH-15082 Test that batch statements are aborted if a RuntimeException is thrown by Batch#addToBatch
Such an exception can be thrown if an expectation
(org.hibernate.jdbc.Expectation) is not met, for example if an update
statement for a given entity affects 0 rows (e.g. because of a concurrent
update).
2022-02-18 20:36:58 +00:00
Yoann Rodière ec6cd5d0cc HHH-15082 Abort JDBC batches on runtime exceptions as well as SQLException 2022-02-18 20:36:58 +00:00
Christian Beikov 73e9859fea Re-enable more tests.
* Make sure subselect fetch registrations are per navigable path
* Consider the result class for native queries
* Fix issues with nested property references
* Fix list expansion issues for native queries
2022-02-18 12:11:07 +01:00
Andrea Boriero 40bcb97232 Fix String index out of range when wrapping an char 2022-02-17 08:17:29 +01:00
Andrea Boriero cc750a9abd Fix Session#setProperty() for cache and timeout related properties 2022-02-17 08:16:45 +01:00
Christian Beikov c02ce35aa0 Implement on the fly callable named native query to stored procedure translation 2022-02-17 08:14:10 +01:00
Christian Beikov 439788198f Fix some stored procedure and native query issues 2022-02-17 08:14:10 +01:00
Andrea Boriero 8ed1ed5159 Re-enabled additional tests 2022-02-16 16:32:49 +01:00
Steve Ebersole 32ee43cfe7 Added missing space per code-style
Added missing space per code-style
2022-02-16 08:43:39 -06:00
William Burns 6685a7a145 HHH-15080 Session Refresh can cause StaleObjectStateException when entry in 2LC is reread 2022-02-16 08:43:39 -06:00
Andrea Boriero 26e98c0879 Fix BasicTypeResolution for collections annotated with @MapKeyTemporal 2022-02-15 19:02:07 +01:00
Andrea Boriero f14e70cb8f Re-enabled additional tests 2022-02-15 17:45:39 +01:00
Christian Beikov 2873440a25
Use proper RequiresDialect annotation 2022-02-15 13:23:55 +01:00
Christian Beikov b9dca52ecc Fix ProcedureParameterTests 2022-02-15 11:40:41 +01:00
Christian Beikov 9b6ddc8c0b Fix GeneratedAnnotationTests 2022-02-15 11:38:05 +01:00
Christian Beikov 98816362e2 Fix EntityWithManyToOneSelfReferenceTest 2022-02-15 10:11:15 +01:00
Christian Beikov b85f530b42 Log warning when FetchStyle.JOIN is used with LAZY and add migration guide entry for fetch all properties 2022-02-15 09:47:12 +01:00
Christian Beikov dc6ad33cfc HHH-10463 Implement function argument type inference 2022-02-15 09:04:50 +01:00
Christian Beikov 260c738a5a Get rid of some `getEntityMetamodel` uses 2022-02-15 09:03:55 +01:00
Christian Beikov 87638a9a2e Get rid of most walking stuff 2022-02-14 22:55:45 +01:00
Christian Beikov 1a71bb9787 Fix root validation for subqueries that appear in the on clause 2022-02-14 22:55:21 +01:00
Christian Beikov 0f02279f10 Implement partial null key handling and respect lazy flag regardless of fetch style 2022-02-14 20:13:53 +01:00
Andrea Boriero 3b6d25425a HHH-15073 Test criteria query built from JPA metamodel and involving primitive types 2022-02-14 09:34:28 +01:00
Yoann Rodière c1078b2612 HHH-15073 CriteriaPrimitiveIdTest: use only JPA interfaces that are available in Hibernate ORM 5 2022-02-14 09:34:28 +01:00
Yoann Rodière c4e763c5c5 HHH-15073 Test criteria query built from JPA metamodel and involving primitive types 2022-02-14 09:34:28 +01:00
Andrea Boriero d8a98af76e Fix LocalTime and OffsetTime parameter binding 2022-02-11 13:16:28 +01:00
Andrea Boriero 83306d588d Call to Query#getParameterValue(int position) with closed EntityManager must throw an IllegaStateException 2022-02-11 11:36:50 +01:00
Christian Beikov 5bfbc466eb Rename JPA copy compliance setting to `hibernate.criteria.copy_tree` 2022-02-10 18:24:23 +01:00
Andrea Boriero 07f3d6727f Fix native named query max results 2022-02-10 14:27:36 +01:00
Gavin King 74e1e6caad catch other cases where NPE indicates that a PostInitCallbackEntry is unready 2022-02-10 14:05:14 +01:00
Gavin King 9a98976b41 don't use NPE to indicate that a PostInitCallbackEntry is unready and needs to be re-queued
because:

- to anyone stepping through the code it looks like a bug
- nobody *reading* the code would have any way of guessing
  that this is behavior that can happen, much less that it's
  expected and correct
2022-02-10 12:16:16 +01:00
Andrea Boriero 6fcbe5f0a0 Fix parameter binding validation 2022-02-10 09:39:23 +01:00
Gavin King 437da23961 removing a questionable grammar rule seems to make implicit collection joins work 2022-02-09 22:05:21 +01:00
Gavin King 9ebac67737 change the new syntax for HQL collection-aggregates
this feels more consistent to me, and avoids introducing "new" syntax
2022-02-09 22:05:21 +01:00
Christian Beikov 5828536428 Implement window function support in HQL 2022-02-09 18:32:27 +01:00
Christian Beikov d5d1cf937c Fix a type and missing branches in base walkers for ordered set aggregates 2022-02-09 18:31:14 +01:00
Christian Beikov 236ece769b Implement query transformer to emulate for ordered set aggregate functions through their window variants 2022-02-09 18:31:14 +01:00
Christian Beikov f52cf04a16 Introduce QueryTransformer for functions 2022-02-09 18:31:14 +01:00
Christian Beikov c2ee076ce6 Change the way persisting works as needed for list semantics and throw
proper error on null list index
2022-02-08 16:32:25 +01:00
Yoann Rodière 62b4d249ee HHH-15054 Reproducer for cascade-delete NPE on entity with @OneToMany(mappedBy = ...) 2022-02-08 16:32:25 +01:00
Christian Beikov 842ebd0e7e Make use of function return type resolver for elements/indices functions 2022-02-08 16:32:09 +01:00
Christian Beikov 9b53ca8559 Implement support for using generically typed associations to re-enable inheritance/discriminator tests 2022-02-08 15:40:02 +01:00
Andrea Boriero eb572376a9 Implemented NamedQuery creation from Criteria 2022-02-08 14:46:28 +01:00
Gavin King bd5b05cbe3 improve error messages 2022-02-08 14:26:49 +01:00
Gavin King 0dfa91f6ec add a test 2022-02-08 14:26:39 +01:00
Gavin King eefdb4acd6 test demonstrating enduring problems with minelement()/maxelement() 2022-02-08 13:38:00 +01:00
Christian Beikov 4e19e322a3 Don't create table groups for the plural path of a plural part path 2022-02-08 13:25:55 +01:00
Christian Beikov 89bf82fee4 Avoid eagerly resolving secondary tables when using discriminator path 2022-02-08 12:23:43 +01:00
Christian Beikov cab03a238d Add treat test for TCK compliance 2022-02-08 12:23:43 +01:00
Christian Beikov 0a5b62421e Fix treat join issue with one-to-many and make sure table pruning always works. Also fix some issues with union subclass pruning 2022-02-08 12:23:43 +01:00
Gavin King ccee58add8 add some Javadoc, and rename a class 2022-02-07 21:04:54 +01:00
Gavin King 285c2099c8 try to make test work on Maria 2022-02-07 19:15:54 +01:00
Gavin King addc3ea4c2 split out IntegralTimestampaddFunction 2022-02-07 19:15:54 +01:00
Gavin King 3e97fe39a7 make TimestampaddFunction understandable using Extract Method 2022-02-07 19:15:54 +01:00
Gavin King 52c7f61815 add tests for avg(index) and avg(element) 2022-02-07 19:15:54 +01:00
Gavin King 3b221b7b18 remove a garbage feature (FieldFunction) 2022-02-07 19:15:54 +01:00
Gavin King 75888b94f2 use CastFunction to do typecasts 2022-02-07 19:15:54 +01:00
Christian Beikov dc65d041d1 Fix issues with min/max element/index in the select clause 2022-02-07 12:07:03 +01:00
Christian Beikov e0a35287c9 test showing maxindex() / maxelement() broken 2022-02-07 12:07:03 +01:00
Andrea Boriero 768e6873fd Fix Attribute#getJavaType() returs also primitive types 2022-02-07 10:26:44 +01:00
Gavin King a25758f519 don't write @SuppressWarnings({ "unchecked" }) 2022-02-05 20:03:50 +01:00
Gavin King 4b1cd56218 improve Javadoc of JdbcType 2022-02-05 20:00:20 +01:00
Gavin King bedd31b36e clean up a bunch of generics-related warnings 2022-02-05 20:00:20 +01:00
Gavin King a7da40709c clean up looping, using indexed for instead of local var 2022-02-05 15:40:31 +01:00
Gavin King 5de6c703a8 clean up the way JdbcLiteralFormatter is called
this is a case where we can use wildcard capture
2022-02-05 15:09:19 +01:00
Gavin King 09470bd55a fix a couple of warnings in Dialect 2022-02-05 12:31:52 +01:00
Gavin King c2f0ab8fcf get rid of warnings involving JdbcFormatter
also get rid of som explicit type args using <>
2022-02-05 12:26:09 +01:00
Gavin King 2f08812187 fix the round() function on Postgres
for some dumb reason, round(x,n) doesn't accept a double on pg
2022-02-04 18:15:34 +01:00
Andrea Boriero f7d5bc857b Fix SqmMemberOfPredicate negation determination 2022-02-04 15:59:18 +01:00
Andrea Boriero 9a2c87808b Fix mutation queries using temporary table not adding discriminator column 2022-02-04 13:57:48 +01:00
Andrea Boriero e24611e0c3 Call EntityMenager#createQuery() that causes RuntimeException should mark Transaction for Rollback 2022-02-04 11:49:17 +01:00
Yoann Rodière 51e556ebde HHH-15068 Don't try to instantiate types through the bean manager when that's not possible 2022-02-04 10:20:56 +01:00
Yoann Rodière b8060d2df7 HHH-15068 Reproduce problem where type resolution accesses the bean manager before it's ready 2022-02-04 10:20:56 +01:00