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
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