Commit Graph

8209 Commits

Author SHA1 Message Date
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
blafond 5ced797dd5 HHH-15067: Set add() method as public to allow non-nullable associations in hibe…
…rnate-reactive
2022-02-03 21:14:04 +01:00
Gavin King 0f6295e6e1 remove a bunch of unused classes 2022-02-03 19:10:45 +01:00
Gavin King 11f784e23b add some Javadoc, fix warning, and remove some minor junk 2022-02-03 19:10:45 +01:00
Gavin King c41c5c7472 simplify some code in SchemaAutoTooling 2022-02-03 19:10:45 +01:00
Gavin King 4904f64b2e remove an unused JACC-related class 2022-02-03 19:10:45 +01:00
Christian Beikov 734b80c531 Add test and fix non-pk association comparison issues 2022-02-03 11:55:31 +01:00
Gavin King a4a15e8b35 use single quotes instead of backticks for consistency 2022-02-02 20:00:58 +01:00
Yoann Rodière c861e465a7 HHH-15057 Fix exception on persisting bidirectional, list many-to-many association 2022-02-02 18:09:38 +01:00
Yoann Rodière 4f6b60e3ee HHH-15057 Reproducer for exception about order on many-to-many list 2022-02-02 18:09:38 +01:00
Andrea Boriero fef147d6a4 Fix binding issue for Criteria with paramters having the same name 2022-02-02 15:36:09 +01:00
Andrea Boriero 971d1ea2f4 Fix function parameters type determination 2022-02-02 15:36:09 +01:00
Andrea Boriero b721aa9b86 Fix SqmAttributeJoin#copyTo() method 2022-02-02 09:06:33 +01:00
Gavin King d0255d2c2b make CommonFunctionFactory a real object 2022-02-01 18:21:55 +01:00
Gavin King fed23e51b5 extract method on duplicated expressions in CFF 2022-02-01 15:38:55 +01:00
Andrea Boriero 6327616c8d EntityManager#find() throws IllegalArgumentException for wrong arguments 2022-02-01 14:02:38 +01:00
Christian Beikov 0509b10040 Implement support for ordered set-aggregate functions like listagg, percentile_disc, rank etc. 2022-02-01 13:38:32 +01:00
Andrea Boriero bd2446a5d5 Fix throw IllegalArgumentException for query with no roots specified 2022-02-01 13:32:50 +01:00
Gavin King 5a549ea5b4 fix initialization of SingleTableEntityPersister to be eager 2022-02-01 00:34:14 +01:00
Gavin King dcd7ebbb56 clean up some warnings
use Metadata instead of deprecated Mapping
(I'm not sure that's really an improvement)
2022-02-01 00:34:14 +01:00
Jan Schatteman d2b740ce5b
Jrenaat 6.0 deprecation removals (#4718)
* Removed deprecated org.hibernate.boot.jaxb.internal.stax.LocalSchema

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove some deprecations from org.hibernate.engine.jdbc

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated misspelled method in PostActionEventListener

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated getSource() from AbstractPreDatabaseOperationEvent

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Privatize deprecated buildOptimizer method in OptimizerFactory

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated ServiceContributingIntegrator

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove some more deprecated features

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-01-31 19:14:48 +01:00
Christian Beikov 0ad5796ffd Implement SQM copying for JPA Criteria API uses 2022-01-31 19:04:37 +01:00
Andrea Boriero 5446291171 Throw UnknownSqlResultSetMappingException for non existing StoreProcedure result mapping 2022-01-31 17:34:38 +01:00
Andrea Boriero b139967be1 Fix Criteria Subquery#getSelection() returns null when it has not any select expression 2022-01-31 17:34:11 +01:00
Christian Beikov de0dd8cda3 Copy DomainParameterXref on demand instead of recreating to avoid instance mismatch with ParameterMetadata 2022-01-31 16:55:59 +01:00
Christian Beikov 1e823386f6 Support FK column access optimization also for associations in embeddables of an element collection 2022-01-31 16:55:59 +01:00
Christian Beikov afdedb0fc5 Avoid rendering unnecessary parenthesis for junctions 2022-01-31 16:55:59 +01:00
Christian Beikov cd555de724 Fix NPE for unbound parameters due to wrong type determination 2022-01-31 16:55:59 +01:00
Christian Beikov ce5951a948 Fix type inference for binary arithmetic expressions 2022-01-31 16:55:59 +01:00
Christian Beikov af42f3a76c Allow controlling whether selection item deduplication should happen and disable deduplication in subqueries. Remove some dead code and fix a possible NPE. Expose some JdbcOperation fields for libraries to make it easy to produce a derived operation. 2022-01-31 16:55:59 +01:00
Gavin King ef391bf644 get rid of warnings about use of deprecated PersisterCreationContext 2022-01-31 14:10:04 +01:00
Gavin King 1c73be8ba4 remove use of deprecated method 2022-01-31 14:10:04 +01:00
Gavin King 3f563087e6 add a couple of comments 2022-01-31 11:29:24 +01:00
Gavin King c9015bcd8d make ln() and exp() have the return type Double 2022-01-31 11:29:24 +01:00
Gavin King 385cba79d8 remove PowerReturnTypeResolver
You can't do "exact decimal" exponentiation. For the same reason that
sqrt() is of type Double in the JPA, pow(decimal, 0.5) is also of type
Double.

Yes, yes, I know that some dbs (Postgres!) claim that the return type is
NUMERIC for NUMERIC arguments. But go on, try it: yes, the return type of
typed NUMERIC, but then it has a very suspicious number of digits. Hrrm....
17 decimal digits, now why does that specific number ring a bell?
2022-01-31 11:29:24 +01:00
Gavin King 5b5c76abfd fill in type parameters of raw type in Type interface 2022-01-30 19:28:24 +01:00
Gavin King 1b0862babd introduce Contexts for the other cascading operations that need them
and typesafety, finally!
2022-01-30 19:28:24 +01:00
Gavin King 7570d15291 finally fix the warnings and typecasts in DefaultMergeEventListener
by using MergeContext instead of (raw!) Map
2022-01-30 19:28:24 +01:00
Gavin King b75613cff1 edit the (excellent) javadoc of MergeContext 2022-01-30 19:28:24 +01:00
Gavin King 772c4533ee move inner classes of CommonFunctionFactory to toplevel 2022-01-30 19:01:36 +01:00
Gavin King 8025af7592 add some code comments documenting some decisions taken here
cc @beikov
2022-01-30 16:58:24 +01:00
Gavin King f5278ce678 javadoc about XML format mappings 2022-01-29 19:18:38 +01:00
Gavin King 9a11e843e6 stop calling factory.getJdbcServices().getDialect() so much 2022-01-29 18:00:39 +01:00
Gavin King 48dc4662ef move subclassColumnClosure down to the only subclass that uses it 2022-01-29 17:46:42 +01:00
Gavin King 135216b0a9 fix some warnings in a couple of tests 2022-01-29 17:01:57 +01:00
Gavin King 56232a0159 remove a bunch of unused junk from the persisters
this is a potential performance gain!
2022-01-29 17:01:57 +01:00
Gavin King 929cbd1139 add missing @Override annotations 2022-01-29 17:01:57 +01:00
Gavin King 38f4c70e7b split up TypeHelper 2022-01-29 12:55:27 +01:00
Gavin King 6c3b74d39e clean up an important test 2022-01-29 11:16:20 +01:00
Gavin King e8d7c98798 deprecate two operations that are no longer called
... and return deprecated types
2022-01-29 11:15:55 +01:00
Gavin King ea36099571 fix some deprecation warnings by using getValues() instead of getPropertyValues()
though I don't like the underlying deprecation that made this necessary, and I
would prefer to be able to roll back these changes
2022-01-29 10:58:37 +01:00
Gavin King 678adbf682 add some missing (since = "6.0") 2022-01-29 10:55:50 +01:00
Gavin King 3f1cc36c2a fix some warnings in QueryResultsCacheImpl 2022-01-29 10:48:23 +01:00
Gavin King d86e9b6ab6 minor stylistic review and generics fixes in event stuff 2022-01-29 10:32:49 +01:00
Gavin King c086fff1f8 fix some warnings in a couple of tests 2022-01-29 09:00:14 +01:00
Gavin King c807aecdb9 add some @FunctionalInterface annotations
and fix a warnings
2022-01-29 08:59:34 +01:00
Gavin King 232ad00f5c add some missing (since="6.0") 2022-01-29 08:57:25 +01:00
Gavin King cd7417e815 remove unwrap() methods that aren't to do with proxying
it's better to do this stuff in a more typesafe way
2022-01-29 02:12:44 +01:00
Gavin King 2e2a544584 correct fix for Interceptor.onSave()
see 9898151dda

This change broke the ability to selectively implement methods of Interceptor,
and also broke backwards compatibility with older implementations of Interceptor.
2022-01-29 02:12:25 +01:00
Gavin King 2090df4a08 fix some raw types in Configuration 2022-01-29 02:12:25 +01:00
Gavin King 9276ce4421 explain how to get things in the javadoc 2022-01-29 00:43:08 +01:00
Gavin King f388b2fb2b Javadoc for SessionFactoryBuilder and lots of crossrefs 2022-01-28 19:46:39 +01:00
Gavin King 77137f7407 remove type parameter from BasicValueBinder
why it ever had one, I can only speculate
2022-01-28 17:25:16 +01:00
Gavin King fb1650f789 refresh Javadoc for Configuration and friends 2022-01-28 17:16:59 +01:00
Andrea Boriero b1a09d5630 Fix Criteria#getResultType() returning Object class instead of null 2022-01-28 16:51:00 +01:00
Gavin King 475d028981 remove @TimeZoneColumn for now because it's unimplemented
and there's no plan to implement it for 6.0

(we can put it back later if someone gets around to implementing it)
2022-01-28 16:01:58 +01:00
Gavin King 5f1358633d remove a deprecation that was probably an accident 2022-01-28 14:05:09 +01:00
Gavin King d4f934881c fix some warnings and other misc cleanups to .cfg package 2022-01-27 22:08:39 +01:00
Andrea Boriero f9141ecb5a Add additional test 2022-01-27 20:10:24 +01:00
Gavin King 6bfa8d6c27 fix disabling of fk in @ManyToOne associations 2022-01-27 19:44:32 +01:00
Gavin King abe0cc3108 javadoc for @NotFound and NotFoundAction 2022-01-27 19:39:36 +01:00
Gavin King 0a251e9a0e second round of binder cleanup: CollectionBinder, more AnnotationBinder 2022-01-27 18:13:09 +01:00
Gavin King 13b00f8907 massive cleanup of AnnotationBinder 2022-01-27 18:13:09 +01:00
Christian Beikov 9a22e615f5 Do not eagerly create a table group for implicit joins 2022-01-27 18:10:18 +01:00
Steve Ebersole 67fbab36bb list v. bag - javadoc, migration guide 2022-01-27 08:49:58 -06:00
Christian Beikov 32f493e74c Fix remaining tests 2022-01-27 07:25:45 -06:00
Steve Ebersole 31bc14979b move remaining tests from o.h.test to o.h.orm.test 2022-01-26 23:16:16 -06:00
Gavin King d3c38f2a8e javadoc revision to CommonQueryContract
and fix the package info for org.hibernate.persister.walking.spi
2022-01-27 01:05:59 +01:00
Andrea Boriero be49444822 Fix failures with inline value handling mode 2022-01-26 17:49:04 -06:00
Gavin King c8a4546331 add Query.getSingleResultOrNull()
this is quite similar to the existing uniqueResult() method,
but its name is much clearer, and it throws the JPA exception
2022-01-26 17:44:42 -06:00
Steve Ebersole d7e5d55278 move remaining tests from o.h.test to o.h.orm.test 2022-01-26 17:07:27 -06:00
Steve Ebersole 5436f441ae move remaining tests from o.h.test to o.h.orm.test 2022-01-26 17:06:53 -06:00
Andrea Boriero 5ae3d1e81e CriteriaQuery#getParameters() should not return parameters internally created because value handling mode is bind 2022-01-26 16:16:53 -06:00
Gavin King 09299e1f41 get rid of the last iterators in the mapping package 2022-01-26 22:53:44 +01:00
Gavin King 12a515a95a get rid of more iterators in the mapping package 2022-01-26 22:53:44 +01:00
Gavin King 54b9677d99 get rid of the iterators in the mapping package
and clean up a lot of warnings
2022-01-26 22:53:44 +01:00
Gavin King 766d519ddd actually remove EntityTuplizer and friends 2022-01-26 22:53:24 +01:00
Gavin King 56973f5da4 remove some operations of SessionFactoryDelegatingImpl 2022-01-26 21:43:57 +01:00
Christian Beikov c06b5c18e3 More test fixes and stored procedure fixes for H2 2022-01-26 21:16:13 +01:00
Andrea Boriero da00adf0da Skip Criteria result type validation when JPA query compliance is enabled 2022-01-26 13:55:19 -06:00
Andrea Boriero cb6be7dc81 Fix Subquery#getCorrelatedJoins throws NPE when FromClause is null 2022-01-26 13:52:42 -06:00
Andrea Boriero b9d4a74693 Fix rendering of negated boolean expression predicate 2022-01-26 13:52:12 -06:00
Christian Beikov 96931d8094 Fix tests and implement handling callable function hint for stored procedures 2022-01-26 13:51:49 -06:00
Steve Ebersole 131b7bb4e0 HHH-15030 - SelectQuery, MutationQuery, etc
SelectQuery based on Criteria
SelectQuery based on named query (HQL only)
MutationQuery based on named query (HQL only)
2022-01-26 13:43:44 -06:00
Craig K 751aa6f50f
Fix race condition that allowed Component.getType() to return null (#4700)
This fix prevents an NPE in org.hibernate.mapping.SimpleValue.isValid() and likely elsewhere
2022-01-26 15:18:01 +01:00
Jan Schatteman cc0b198142 Remove some deprecations in org.hibernate.cfg and
org.hibernate.collection.spi

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-01-26 14:31:41 +01:00
Gavin King d2643fc2b5 minor javadoc improvements to Mapping 2022-01-26 10:24:41 +01:00
Gavin King e82a5492c3 get rid of some more usages of getMetamodel() 2022-01-26 10:20:20 +01:00
Gavin King a3ef7b906d Also Javadoc for JPA compliance stuff
clarify logic of a method in AbstractEntityPersister
(there was actually a bug here)
2022-01-26 08:53:30 +01:00
Gavin King ccf88c925e remove isStrictJPAQLCompliance()
it was uncalled, and anyway incorrect
2022-01-26 08:48:52 +01:00
Steve Ebersole 7b00d3ce78 Migrate internal uses of `MetamodelImplementor` (deprecated) to instead use `MappingMetamodel` 2022-01-25 20:22:29 -06:00
Gavin King f6287cedc2 very minor cleanups to engine package 2022-01-26 01:07:08 +01:00
Gavin King ee1d27719c minor cleanups to Actions 2022-01-26 00:42:08 +01:00
Gavin King 8f8ae50e0b remove deprecated ExtendedBeanManager 2022-01-26 00:16:48 +01:00
Gavin King 5dbf9aedf9 fix for Dialects with null SQLException delegate 2022-01-25 22:48:58 +01:00
Gavin King 6b5c11b1ff clean up some warnings in engine.jdbc package 2022-01-25 22:04:54 +01:00
Gavin King 6b51952137 clean up SQLExceptionConverter and friends removing obsolete stuff 2022-01-25 21:43:43 +01:00
Gavin King e51c210d78 squash lots of warnings in services
change the raw Map representation of config properties to Map<String,Object>
2022-01-25 21:04:50 +01:00
Gavin King ef86097db7 minor improvements to Javadoc of Mutability 2022-01-25 11:25:49 +01:00
Gavin King 03a3f96c62 squash a bunch of warnings 2022-01-25 10:37:14 +01:00
Gavin King c44e0519b9 remove deprecated operations of SessionBuilder
they've been deprecated since 5.2
2022-01-25 10:11:36 +01:00
Gavin King 9c37385cb9 remove deprecated operations from SessionFactoryBuilder 2022-01-25 08:58:55 +01:00
Gavin King f0fa64bda8 make checkstyle shut up 2022-01-25 08:22:22 +01:00
Gavin King 55a556b017 mark impls of EntityTuplizer as @Deprecated 2022-01-25 07:46:48 +01:00
Gavin King 1ebe8523e5 better to throw than always return null
it would be even better, IMO, to simply remove this method
2022-01-25 07:46:04 +01:00
Steve Ebersole 3f879dc3db User Guide - collection mapping docs 2022-01-24 19:52:41 -06:00
Gavin King 6590727698 add a couple of missing @SuppressWarnings in Query hierarchy 2022-01-24 23:46:25 +01:00
Gavin King 599ffec8fc take out even more @deprecated trash 2022-01-24 23:46:25 +01:00
Gavin King fad946838a cleanup CallbackRegistry 2022-01-24 23:46:25 +01:00
Gavin King 73f4960e3d take out some @Deprecated trash 2022-01-24 23:46:25 +01:00
Steve Ebersole bfde4461b3 Change `@ParamDef#type` associated with a `@FilterDef` from `String` to `Class` in keeping with the general move away from String-based type usage in annotations 2022-01-24 16:44:22 -06:00
Steve Ebersole 521209815f api, spi, internal, deprecation, javadoc 2022-01-24 16:04:08 -06:00
Steve Ebersole 510ce500f6 Change `@ParamDef#type` associated with a `@FilterDef` from `String` to `Class` in keeping with the general move away from String-based type usage in annotations 2022-01-24 15:07:03 -06:00