Commit Graph

4841 Commits

Author SHA1 Message Date
Yoann Rodière 5fd97472b9 HHH-12946 Enable JAXB dependencies regardless of the JDK being used when building Hibernate ORM
Previously we would only add the dependency when building with JDK9+,
and we built all releases using JDK8.
This means the dependencies were useless, because they would never be
mentioned in the actual POMs published to users.
2018-10-17 11:43:03 +02:00
Yoann Rodière 2daa3811c6 HHH-12946 Remove unnecessary dependencies when building with JDK9+
We don't need to depend on JAXB's compiler (XJC) in our modules,
we just need the dependency in specific tasks during the build.
In particular we don't want users to transitively depend on XJC.

Also, we don't need an explicit dependency to JAXB in every module,
having one in hibernate-core is enough.
2018-10-17 11:43:03 +02:00
Yoann Rodière 51ab9f744d HHH-12946 Add explicit dependencies to JAXB APIs where relevant 2018-10-17 11:43:03 +02:00
Yoann Rodière 530ab1569e HHH-12946 Use constants for JAXB dependencies instead of inline strings
We may have to update these dependencies, let's make it easy.
2018-10-17 11:43:03 +02:00
Guillaume Smet bb822aee31 HHH-12935 Make ExportIdentifierTests extend BaseUnitTestCase 2018-10-16 23:54:51 +02:00
Gail Badner a09e6156f9 HHH-13011 Fix the tests: use int column in where clause 2018-10-16 14:17:04 -07:00
Guillaume Smet 66d9859813 HHH-12935 Require sequence support in ExportIdentifierTests 2018-10-16 19:23:41 +02:00
Guillaume Smet 552c3da1b6 HHH-13011 Fix the tests: use a boolean query 2018-10-16 19:18:03 +02:00
Guillaume Smet 18f4ecfdfe HHH-13011 Fix the tests: use a boolean query 2018-10-16 18:24:29 +02:00
Gail Badner d1a40af1b7 HHH-13011 : test cases 2018-10-16 15:12:06 +02:00
Gail Badner 4735c2d5aa HHH-13011 : Add option enabling/disabling use of an entity's mapped where-clause when loading collections of that entity 2018-10-16 15:12:06 +02:00
Gail Badner 19dd186d11 HHH-12104 : Test cases using annotations and hbm.xml 2018-10-16 15:12:06 +02:00
Fabio Massimo Ercoli 974ffdd402 HHH-13001 Add test case
(cherry picked from commit 488916cca4)
2018-10-16 07:48:42 -05:00
Steve Ebersole a2b26b81b3 HHH-13001 - NPE rendering nested criteria expressions 2018-10-16 07:45:58 -05:00
Guillaume Smet 23c6565f72 HHH-12937 Only run the tests with H2Dialect 2018-10-16 14:22:31 +02:00
Gail Badner 4d381457c5 HHH-12935 : Constraint and AuxiliaryDatabaseObject export identifiers are not qualified by schema or catalog 2018-10-16 03:59:10 -07:00
Gail Badner 3806d27f08 HHH-12935 : test cases 2018-10-16 03:59:10 -07:00
Jonathan Bregler d4ad0df883 HHH-12937 Fix tests on SAP HANA
The following tests fail because of a DROP TABLE statement without CASCADE
- org.hibernate.test.where.annotations.LazyElementCollectionBasicNonUniqueIdWhereTest
- org.hibernate.test.where.annotations.LazyElementCollectionWithLazyManyToOneNonUniqueIdWhereTest
- org.hibernate.test.where.hbm.LazyElementCollectionBasicNonUniqueIdWhereTest
- org.hibernate.test.where.hbm.LazyElementCollectionWithLazyManyToOneNonUniqueIdWhereTest
2018-10-16 10:06:56 +02:00
Guillaume Smet 9ead103044 HHH-12978 Properly initialize the converters on deserialization 2018-10-16 09:59:17 +02:00
Gail Badner ae2da95f55 HHH-12937 : Remove duplicated line 2018-10-15 23:21:56 -07:00
Gail Badner eb14b8de6f HHH-12937 : Where clause for collections of basic, embeddable and "any" elements is ignored when mapped using hbm.xml 2018-10-15 23:21:56 -07:00
Gail Badner da50076afc HHH-12937 : test cases 2018-10-15 23:21:56 -07:00
Baptiste Mathus f2b82449da HHH-9038 Fix HSQLDB dialect for non-existing constraints.
This commits relates to https://hibernate.atlassian.net/browse/HHH-7002.
It basically removes the explicit constraints dropping, and uses
cascading instead.

As HSQLDB requires to put CASCADE last, but fortunately accepts IF
EXISTS also before tablename, we just put the IF EXISTS *before* the
tablename, and CASCADE after it. And there you go.
2018-10-15 11:01:55 +02:00
Vlad Mihalcea e55c3bbb7e HHH-12978 - Enum value binding is not logged by BasicBinder 2018-10-15 09:36:20 +03:00
Sanne Grinovero e15a9080ea HHH-12762 No longer needing to use port-offset in WildFly integration tests 2018-10-13 00:02:50 +01:00
Gail Badner 1763bfb51f HHH-13027 : org.hibernate.ejb.HibernatePersistence can no longer be used as a persistence provider name 2018-10-12 23:51:12 +01:00
Gail Badner 6e7c1100a6 HHH-13027 : test case 2018-10-12 23:51:02 +01:00
Sanne Grinovero e3ae85f8c1 HHH-13028 Make ASTPrinter caches use less memory 2018-10-12 23:22:07 +01:00
Vlad Mihalcea 109085cab8 HHH-13025 - Rename MetadataContext#getEmbeddableTypeMap to getEmbeddableTypeSet 2018-10-12 18:08:20 +03:00
Vlad Mihalcea a5138621a6 HHH-12368 - java.sql.SQLFeatureNotSupportedException in LobCreatorBuilderImpl 2018-10-12 13:06:23 +03:00
Chris Cranford 41e49725ae HHH-12320 HHH-12975 - Make sure foreign key name/mode is set prior to building the constraint. 2018-10-12 11:37:04 +02:00
Chris Cranford 9022085f5c HHH-12320 HHH-12975 - Added test cases. 2018-10-12 11:37:04 +02:00
Jonathan Bregler 20b39b9741 HHH-13021: Add support for SAP HANA full-text search functions 2018-10-12 11:34:02 +02:00
Vlad Mihalcea b6b9468fd0 HHH-13020 - When proxying an entity having a private default constructor, the log message is not very clear about the problem
Fix test failing with Javassist
2018-10-10 20:41:26 +03:00
Vlad Mihalcea df3edbd7b7 HHH-13020 - When proxying an entity having a private default constructor, the log message is not very clear about the problem 2018-10-10 16:51:40 +03:00
Vlad Mihalcea c3febcaaed HHH-12939 - Database name not quoted at schema update
Restrict tests to H2, PostgreSQL and SQL Server only
2018-10-09 09:32:34 +03:00
Vlad Mihalcea 1db476dbd5 HHH-12973 - Inconsistent identity generation when using the default @SequenceGenerator with a database sequence having the increment size of 1 2018-10-08 20:03:25 +03:00
Sanne Grinovero ec21c6df5e HHH-13017 Exception on Service stop isn't logging the full stack 2018-10-08 11:56:38 +01:00
Davide Angelocola 7ff7eec783 HHH-12928 Remove vestigial 'naturalIdTypes' field
naturalIdTypes is unused since 3800a0e695
2018-10-06 19:40:02 +01:00
Fabio Massimo Ercoli a189ac3220 HHH-13014 Expose resolveClassLoadingStrategy as spi 2018-10-06 19:25:23 +01:00
Sanne Grinovero cced0ad568 HHH-13015 Optimise loading of EntityCopyObserver implementation 2018-10-05 22:58:28 +01:00
Jan-Willem Gmelig Meyling 415fcfd048 HHH-13000 - Fix for refreshing entities under PESSIMISTIC_WRITE lock 2018-10-05 12:40:08 +02:00
Gail Badner 6f5b1e5543 HHH-11209 : Test cases
HHH-11209 : NullPointerException in EntityType.replace() with a PersistentBag

HHH-11209 : Add test for merging a detached collection with queued operations

HHH-11209 : Throw UnsupportedOperationException if a detached collection with queued operations is merged

HHH-11209 : Ignore queued operations when merging a detached collection with queued operations; add warnings

HHH-11209 : Fix typo in comment
2018-10-04 14:28:37 -07:00
Guillaume Smet 439ce293da HHH-12989 Make the test prove that everything is really working as expected 2018-10-03 10:20:38 +02:00
carnusj d922452307 HHH-12989 Support heterogeneous collections passed to JPA's Expression#in() 2018-10-03 10:20:37 +02:00
Guillaume Smet 63b5df4096 HHH-13005 Upgrade to ByteBuddy 1.9.0 2018-10-02 14:36:02 +02:00
Sanne Grinovero 97b49349ad HHH-13003 Skip processing of empty resource names defined for hibernate.hbm2ddl.import_files 2018-10-01 23:12:56 +01:00
Jonathan Bregler 4b19bdc619 HHH-12995: Querying DECIMAL columns via Double fields can lead to precision loss on SAP HANA
- add new configuration parameter hibernate.dialect.hana.treat_double_typed_fields_as_decimal
2018-10-01 11:30:24 +03:00
Guillaume Smet 6e9c1893a1 HHH-12939 - Database name not quoted at schema update 2018-10-01 11:19:30 +03:00
Vlad Mihalcea 01bf67e4b8 HHH-12982 - Generify Hibernate#unproxy 2018-10-01 07:51:24 +03:00
Vlad Mihalcea 340618c9a0 HHH-12988 - DST is ignored when saving a LocalTime with hibernate.jdbc.time_zone=UTC
- Add test to prove how the underlying JDBC Driver binds the Time for a given TimeZone
2018-09-28 11:02:11 +03:00
Губанов Станислав 3c3b8f9375 HHH-11771 - @Id annotation ignored with @MappedSuperclass inheritance 2018-09-27 14:57:53 +03:00
Vlad Mihalcea f21c8c2927 HHH-12968 - Flush is not flushing inserts for inherited tables before a select within a transaction
Extract IdentityGenerator batch support validation logic
2018-09-26 08:22:02 +03:00
Vlad Mihalcea 5a2f12a9a8 HHH-12653 - Throw MappingException if both @MappedSuperclass and @Inheritance are used 2018-09-24 17:28:50 +03:00
Javad Alimohammadi 9dfdb2b471 HHH-12968 - Flush is not flushing inserts for inherited tables before a select within a transaction 2018-09-24 13:51:13 +03:00
Vlad Mihalcea 48909896b6 HHH-12974 - Document @OnDelete behavior in regards to disabling the Persistence Context entity removal cascading event 2018-09-20 11:33:26 +03:00
Yanming Zhou a9fd8efe33 HHH-12977 - Update latest dialect for MySQL 2018-09-19 11:01:53 +03:00
Jan-Willem Gmelig Meyling b25bfd79f4 HHH-12675 - Respect inverse property for JoinedSubclassEntityPersister 2018-09-13 17:57:56 +02:00
Vlad Mihalcea 9d8cb3dbb7 Add test to check if private constructors lead to meaningful error messages when using bytecode enhancement 2018-09-10 13:40:59 +03:00
Jonathan Bregler 69c03c63f3 HHH-12963: HANA dialect doesn't set internal configuration for use_unicode_string_types correctly 2018-09-10 11:33:38 +03:00
Jonathan Bregler d8be295740 HHH-12961 Update HANA dialects Javadoc
- Fix the links
- Add some more information
2018-09-07 16:23:40 +02:00
del65 90b71f6895 HHH-12966 Do not include loggers in statistics beans
This way, you don't need to add the JBoss logging dependencies.
2018-09-07 16:19:30 +02:00
del65 8293d6dce3 HHH-12966 Make CacheableDataStatistics serializable
This is necessary to access statistics over JMX.
2018-09-07 16:19:18 +02:00
Vlad Mihalcea 83191633ec HHH-12855 - Add query plan compilation statistics 2018-09-07 11:17:48 +03:00
Vlad Mihalcea eab5fb2868 HHH-12952 - Document the hibernate.statistics.query_max_size behavior and explain its implications 2018-09-06 14:36:42 +03:00
Sanne Grinovero 50990dd76b HHH-12954 Refactor boot/model/relational/Database to avoid holding references to MetadataBuildingOptions 2018-09-05 10:51:46 +01:00
Sanne Grinovero 4eb726ef4c HHH-12950 Use the Annotation Processor specific scopes of Gradle 2018-09-04 23:02:26 +01:00
Sanne Grinovero 935601e29d HHH-12948 Allow using a custom SessionFactoryOptionsBuilder to create a SessionFactoryBuilderImpl 2018-09-04 16:28:41 +01:00
Sanne Grinovero 8cf00ad3fd HHH-12947 Remove need for BootstrapContext where it's unused 2018-09-04 16:28:41 +01:00
Vlad Mihalcea b3c2c2fe47 HHH-12933 - Generate_statistics grows QueryStatistics ConcurrentHashMap indefinitely 2018-09-03 17:25:31 +03:00
Vlad Mihalcea 440a2ef490 HHH-12929 - Add AtomikosJtaPlatform implementation 2018-09-03 17:17:09 +03:00
Guillaume Smet 04b3230e0f HHH-12920 Fix a debug message causing an exception at debug level 2018-09-03 15:48:14 +02:00
Barnaby Court 5e747b7057 HHH-12927 - Immutable warning issued if immutable entities are referenced but not changed during update 2018-09-03 12:28:34 +03:00
Vlad Mihalcea 361587c858 HHH-12943 - SQL Server UNIQUEIDENTIFIER type uses an uppercase UUID String representation 2018-09-03 10:25:49 +03:00
Guillaume Smet 4c5ab83756 HHH-12932 Execute ByteBuddy code requiring privileges inside a privileged block 2018-08-28 17:34:54 +02:00
Guillaume Smet d195ce03bc HHH-12931 Revert "HHH-12542 - Add necessary privileged action blocks for SecurityManager used on WildFly."
This reverts commit 15a59a1a19.
2018-08-28 17:34:32 +02:00
Sanne Grinovero fb54090329 HHH-12919 Interning of strings for EntityReferenceAliases 2018-08-23 00:04:29 +02:00
Sanne Grinovero 096b436f3d HHH-12918 Interning of strings for Formula and Column exctraction templates 2018-08-23 00:04:28 +02:00
Sanne Grinovero 4fa0491341 HHH-12917 Interning of strings for Filter definitions 2018-08-23 00:04:28 +02:00
Carlos Aristu 6911efdfb7 HHH-12921 - Hibernate Connection Pool Validation Thread should be defined as a daemon Thread
HHH-12922 - Hibernate Connection Pool Validation Thread should have a name
2018-08-22 20:28:26 +03:00
Vlad Mihalcea 9f1fde7127 HHH-12915 - Concurrency issue within org.hibernate.internal.SessionFactoryImpl 2018-08-21 17:45:58 +03:00
Sanne Grinovero 710662200b HHH-12914 Avoid need to create a Proxy to implement org.hibernate.engine.jdbc.BlobProxy 2018-08-16 10:37:24 +01:00
Dmitry Matveev 7ee3001565 Fix a typo in a variable name 2018-08-15 18:31:38 +02:00
Vlad Mihalcea fc667eca2d HHH-12532 - JPA Native Query with ordinal parameter not working
Add test to prove the issue does not replicate
2018-08-15 13:57:17 +03:00
Guillaume Smet 7059146c25 Fix the previous commit to reference #getMaxResults() 2018-08-14 17:01:21 +02:00
Sande Gilda be745cef98 Fix Javadocs comments for Query.getHibernateMaxResults() method 2018-08-14 16:57:58 +02:00
Sanne Grinovero f7b75e4c62 HHH-12911 Removing unused field from org.hibernate.mapping.Collection 2018-08-14 10:53:42 +01:00
Gail Badner 770ae50e8b HHH-12875 HHH-12882 : Drop tables in proper order in test setup methods 2018-08-13 23:26:37 -07:00
Gail Badner a5fa213658 HHH-12875 : Remove "where" clause for Top used by MultiTableTest;
After HHH-12875 is fixed, the "where" clause causes
            MultiTableTest to fail due to HHH-12016
2018-08-13 21:49:45 -07:00
Gail Badner a3cecf3411 HHH-12875 : Add comments to clarify how Collection#setWhere and #setManyToManyWhere are used 2018-08-13 17:42:54 -07:00
Gail Badner 27937e5627 HHH-12875 HHH-12882 : Class level where="..." clause hbm.xml mappings is not enforced on collections of that class; add parentheses when where clauses get combined in a conjunction (hbm and annotations)
HHH-12882 : correct assertions in ParentChildTest
2018-08-13 17:42:54 -07:00
Gail Badner cdf5e45514 HHH-12875 HHH-12882 : test cases 2018-08-13 17:42:54 -07:00
Gail Badner 10826d8f3a HHH-12875 : Class level where="..." clause in hbm.xml mappings is not enforced on collections of that class 2018-08-13 17:42:54 -07:00
Gail Badner eef8974877 HHH-12875 : test cases 2018-08-13 17:42:54 -07:00
Guillaume Smet 8e6fcce523 HHH-12905 Improve the error message and update the tests accordingly
Also fix a loose end in the MySQL test: at least with MariaDB, using
a bit(1) as datatype for boolean does not work: it always return true
even if you set it to 0. Using either boolean or tinyint(1) solves
the issue.

As I'm not sure older versions of MySQL supports a real boolean type I
used a tinyint(1).
2018-08-14 00:41:44 +02:00
Guillaume Smet 764b1826bb HHH-12905 Fix error message tested in MySQL and PostgreSQL tests 2018-08-13 18:43:25 +02:00
Roland Kurucz cc1ffbaaa0 HHH-12905 - Bind value [null] was not of specified type in StoredProcedureQuery 2018-08-13 18:03:45 +02:00
Sanne Grinovero 4a4ecc434b HHH-12904 Removing some dead code in InFlightMetadataCollectorImpl and MetadataImpl 2018-08-13 16:47:11 +01:00
Guillaume Smet 34f58e91c6 HHH-12907 Avoid creating too many ByteBuddy objects
This commit should reduce the garbage collection pressure as reported at
https://github.com/raphw/byte-buddy/issues/515.
2018-08-13 14:37:00 +02:00
Guillaume Smet a934a03a20 HHH-12906 Add tests 2018-08-13 11:49:04 +02:00
Florian Beaufumé 37d430df5e HHH-12906 Used the correct attribute in getAllCollectionRoles() 2018-08-13 11:49:04 +02:00
Fernando Guardiola 0ab6c1178b HHH-12770 - Document @NotFound(action = NotFoundAction.IGNORE) and FetchType.LAZY behavior 2018-08-13 08:36:51 +03:00
Guillaume Smet 20c6f15af2 HHH-10782 Add a comment about what clearing the query plan cache means 2018-08-09 15:53:06 +02:00
Guillaume Smet ea859736c2 HHH-12896 Minor memory improvements in HQLQueryPlan 2018-08-08 22:24:48 +01:00
Sanne Grinovero fa5f592fb9 HHH-12894 Simplify code of StandardSessionFactoryServiceInitiators 2018-08-08 10:59:42 +01:00
Vlad Mihalcea 870a033a52 HHH-12361 - In the User Guide, omit constructors and equals/hashCode for brevity 2018-08-08 10:20:07 +03:00
Chris Cranford 8bd79b29cf HHH-12871 - Fix test that uses dynamic-map entities which failed. 2018-08-07 10:52:24 -04:00
Chris Cranford b9e0449602 HHH-12871 - Fix metamodel to properly exclude dynamic-map based types when using ignoreUnsupported. 2018-08-07 10:52:24 -04:00
Chris Cranford 6a594712db HHH-12871 - Added test cases. 2018-08-07 10:52:24 -04:00
Guillaume Smet b66df9a352 HHH-12196 Implement a naive limit handler for Sybase
It doesn't manage all the corner cases but it should be safe enough as
only triggered in the simple cases.
2018-08-03 17:23:44 +02:00
Guillaume Smet 5d965f8e15 HHH-12883 Fix NaturalIdDereferenceTest with Sybase
With Sybase (and maybe others), the cross join operator is ", " so
only counting the " join " occurrences does not work.
2018-08-03 15:28:14 +02:00
Guillaume Smet 07e21cf66e HHH-12880 LockModeTest hangs indefinitely with Sybase due to HHH-12847 2018-08-02 14:32:19 +02:00
Sanne Grinovero c108f48674 HHH-12879 Remove unnecessary constants in StandardDialectResolver 2018-08-02 10:56:45 +01:00
Guillaume Smet 719e5d0c12 HHH-12847 Consider LockOptions for getting the LockMode
Otherwise, it leads to null pointer exceptions.
2018-08-02 00:11:42 +02:00
Guillaume Smet 6a3ed33627 HHH-12857 Reuse the TypePool created in EnhancerImpl 2018-08-01 23:41:28 +02:00
Guillaume Smet dff202ded9 HHH-12857 Rewrite getDeclaredMethod() calls in static initializers
We rewrite them to run them as privileged blocks.
2018-08-01 23:41:06 +02:00
Guillaume Smet d95b36ffb6 HHH-12857 Avoid using a static ByteBuddy object
In the end, it does not change anything as the BytecodeProvider is still
static but it helps as a general cleanup for the following commits.
2018-08-01 18:01:20 +02:00
Guillaume Smet 349bd2649c HHH-12835 In the end, remove the assertion
It's not really compatible with batch loading, padding and a couple of
other corner cases.

And I don't think it has a lot of value by itself.
2018-08-01 16:07:49 +02:00
Andrea Boriero 725da274fd HHH-12849 - QuotedIdentifierTest fails with ORA-04043 on Oracle12c 2018-08-01 13:42:10 +02:00
Guillaume Smet bee200a84c HHH-12835 Fix an incorrect assertion in BatchFetchQueueHelper 2018-08-01 11:44:19 +02:00
Guillaume Smet d85831f543 HHH-12848 Restore the original Oracle LimitHandler
Oracle does not support using the SQL 2008 standard limit handler with
FOR UPDATE clauses. Thus we need to get back to the old limit handler.
2018-08-01 11:44:19 +02:00
Guillaume Smet e84aae23f0 HHH-10603 Avoid doing distinct and comparisons on byte arrays
They are stored as blobs starting with Oracle12cDialect and distinct and
comparisons on blobs are not supported.

Some tests were adapted, some are now skipped with Oracle12cDialect.
2018-08-01 11:43:32 +02:00
Guillaume Smet f43f668fb8 HHH-12730 Remove the deprecated methods previouly added
We don't need them as everything is now dealt with the transformer.
2018-08-01 11:32:02 +02:00
Guillaume Smet 0ada118635 HHH-12730 Add missing @Overrides 2018-08-01 11:32:02 +02:00
Guillaume Smet 6d7f7878e1 HHH-12730 Add deprecated constructors taking a SessionImplementor 2018-08-01 11:32:02 +02:00
Gail Badner 19388972dc HHH-12730 : User types built using 5.1 are not binary compatible with 5.3 2018-08-01 11:32:02 +02:00
Guillaume Smet d30e461fa1 HHH-12868 Fix NPE when loading entity with CacheConcurrencyStrategy.NONE 2018-07-31 14:52:15 +02:00
Sanne Grinovero d67278a6d2 HHH-12872 Reduce memory consumption of XSD schema validations 2018-07-31 12:48:10 +02:00
Andrea Boriero 7da105be0a HHH-12861 SchemaUpdate doesn't work with Sybase 2018-07-31 10:43:54 +01:00
Yoann Rodière dc42deafcb HHH-12492 Qualify references to columns from the target table in subqueries in DELETE/UPDATE queries
Don't try to duplicate the logic from
org.hibernate.hql.internal.ast.tree.FromElementType#toColumns(java.lang.String, java.lang.String, boolean, boolean)
in other classes, it's complex enough and already seems to handle all
the cases we might encounter.

In this specific case, we want the table name to be used to qualify
column names, because the target table doesn't have any alias (it's not
supported by every version of every RDBMS), and not qualifying columns
at all may lead to a confusing statement, in particular if tables
referenced in the subquery contain columns with the same name.
Since we use aliases for every other table in the query, referencing the
table should not lead to any conflict.
2018-07-27 15:02:55 +02:00
Yoann Rodière 48f59e891f HHH-12492 Test HQL Delete query with a subquery referencing the parent query's aliases 2018-07-27 15:02:48 +02:00
Martin Simka 036ea775da HHH-12863 SchemaUpdateTest should be skipped with Sybase 2018-07-27 14:55:49 +02:00
Jan-Willem Gmelig Meyling ea77c1fb4b HHH-12775 - Avoid join on natural id property access 2018-07-23 21:37:49 +02:00
Alvaro Esteban Pedraza b94b126141 HHH-12763 - Log which JtaPlatform implementation is used at startup on info level 2018-07-23 18:13:28 +02:00
Sanne Grinovero 5164d8b5b3 HHH-12841 DriverManagerConnectionProviderImpl: implement lazy Thread starting and fix visibility guarantees 2018-07-23 18:11:38 +02:00
Martin Simka 8be7aaf1be HHH-12851 ConverterTest fails with SQL Server depending on collation 2018-07-23 18:08:24 +02:00
Chris Cranford 333c190c82 HHH-12846 - Merge cascade of collection fails when orphan removal enabled with flush mode commit. 2018-07-23 11:00:55 -04:00
Martin Simka 89844c50de HHH-12844 Fix HbmWithIdentityTest with Oracle 2018-07-20 14:03:05 +02:00
Martin Simka c03cb7c2c8 HHH-12843 Fix CreateDeleteTest and FlushIdGenTest with Oracle 2018-07-20 13:22:23 +02:00
Sanne Grinovero 628b23faaa HHH-12840 Simplify implementation of LocalObjectUuidHelper 2018-07-20 10:33:21 +01:00
Martin Simka d08cc00628 HHH-12839 Fix EntityProxySerializationTest with Oracle 2018-07-20 11:29:11 +02:00
Guillaume Smet 5d350f19b4 HHH-7404 HHH-6776 Add tests to prevent regressions
The issues have apparently already been fixed but let's add the tests
present in the issue to prevent regressions.
2018-07-20 11:27:32 +02:00
Guillaume Smet cae8c12bbc HHH-12666 Only run the tests with H2
We don't need to run them with all our dialects: we just need to check
the mechanism works correctly.

At least TransactionExceptionHandlingTest fails with MariaDB so better
be safe.
2018-07-20 11:26:25 +02:00
Guillaume Smet 9fde3e08f0 HHH-12832 Make SchemaUpdateHaltOnErrorTest use the CustomRunner
Otherwise @SkipForDialect doesn't work.
2018-07-20 10:37:06 +02:00
Martin Simka 188760250a HHH-12838 Fix AndNationalizedTests with DB2
This is consecutive to the changes made in HHH-12753.
2018-07-20 10:25:46 +02:00
Gail Badner 44ecb96e2d HHH-12666 : Add test 2018-07-20 10:08:54 +02:00
Gail Badner a790096965 HHH-12666 : Add documentation 2018-07-20 10:08:34 +02:00
Gail Badner 9bb9e4bc38 HHH-12666 : Added more tests 2018-07-20 10:08:24 +02:00
Yoann Rodière 88fb16e5c9 HHH-12666 Test the current behavior of exception conversion on persist/save/merge/flush/etc.
Original tests by Gail Badner:
09aa6fbce2
2018-07-20 10:05:53 +02:00
Gail Badner 8ef0ca9a13 HHH-12666 : Add an option for restoring 5.1 native exception handling 2018-07-19 23:48:23 -07:00
Martin Simka 9286f9147b HHH-12833 Fix UniqueConstraintDropTest with DB2 2018-07-19 16:05:35 +02:00
Chris Cranford ad5f96c613 HHH-12753 - Remove an override that was not relevant to this jira. 2018-07-19 10:01:16 -04:00
Chris Cranford 005d5b7c74 HHH-12753 - Fix Nationalized CLOB test failures on DB2.
Force column read/write to use non-nationalized driver methods since the driver does
not implement the nationalized equivalents.
2018-07-19 09:54:13 -04:00
nikowitt c17a83cc0d HHH-12830 Improve error message when a method is called in a non active
transaction
2018-07-19 15:22:31 +02:00
Guillaume Smet cc600abf38 HHH-12832 Skip SchemaUpdateHaltOnErrorTest and al. with DB2
DB2 has no issue with reserved keywords in the CREATE TABLE clause so
let's skip these tests.

There is very little value to test them for every dialect anyway.
2018-07-19 15:04:27 +02:00
Guillaume Smet 2d318b76b2 HHH-12822 Skip "case when" tests requiring casts for DB2 2018-07-19 15:04:27 +02:00
Guillaume Smet de4c356189 HHH-12827 Define a numeric type as decimal for DB2
DB2 converts the numeric type to decimal and returns Types.DECIMAL for a
numeric. We change the type name used so that we have a match when
comparing the type names as last resort.
2018-07-19 15:04:27 +02:00
Guillaume Smet 19d31ea94d HHH-12815 Remove the zeroDateTimeBehavior option
It's useless for this test and it causes compatibility issues.
2018-07-19 13:26:52 +02:00
Guillaume Smet 51c67310f7 HHH-12791 Cache the Component type to avoid generating one proxy per call
While Javassist only generates one proxy as the name is stable,
ByteBuddy uses random names and thus generates a new proxy for every
call, leading to the generation of 18 different proxies for the other
test of the test class.

We can't do better than using a volatile/synchronized pattern as the
Component is not fully initialized in the constructor.

Maybe we could take the risk of admitting that the getType() method is
called at least once before we pass the element to a multi-threaded
environment but that's a bet I don't want to take alone.
2018-07-19 10:01:22 +02:00
Chris Cranford 3fe7d6e13e HHH-12826 - Persist cascade of collection fails when orphan removal enabled with flush mode commit. 2018-07-18 18:08:55 -04:00
Chris Cranford 15a59a1a19 HHH-12542 - Add necessary privileged action blocks for SecurityManager used on WildFly. 2018-07-18 17:18:51 +02:00
Martin Simka 8df12b7d0a HHH-12825 CriteriaHQLAlignmentTest.testCountReturnValues fails on databases that don't support tuple distinct counts because it expects wrong exception 2018-07-18 16:02:52 +02:00
Martin Simka 3f468facd0 HHH-12824 ASTParserLoadingTest.testComponentNullnessChecks fails with DB2 because it uses legacy-style query parameter 2018-07-18 15:59:39 +02:00
Martin Simka 393129fd1d HHH-12823 CompositeIdTest.testDistinctCountOfEntityWithCompositeId fails on databases that don't support tuple distinct counts because it expects wrong exception
The SQLGrammarException is now wrapped in a PersistenceException, we
should take that into account.
2018-07-18 14:38:07 +02:00
Guillaume Smet 92f4758889 HHH-12718 Add a comment about the true meaning of interceptorHandledDirtyCheck 2018-07-17 11:56:50 +02:00
Yoann Rodière 7134e8b968 HHH-12718 Avoid double negations in DefaultFlushEntityEventListener#dirtyCheck 2018-07-17 11:56:26 +02:00
Yoann Rodière 74aa03881a HHH-12718 Compute dirtiness using whatever method is appropriate after a flush event interception
We used to have a simpler version of the dirtyCheck() method after an
interception, but that's not enough.
2018-07-17 11:52:33 +02:00
Yoann Rodière a9f743069b HHH-12718 Test that dirtiness strategies are invoked a second time after a flush interceptor changes the entity state
Bytecode enhancement is harder to test, so I didn't add a test for that,
but since bytecode enhancement dirty checking is called exactly at the
same place, if one works, the other should, too.
2018-07-17 11:52:33 +02:00
Ulrich Bestfleisch c3c322d91b HHH-12718 - Entity changes in @PreUpdate callback are not persisted when lazy loading is active for more than one field 2018-07-17 11:52:03 +02:00
Yoann Rodière 523b29af04 HHH-12795 Remove duplicate code from SessionImpl
SessionImpl.initQueryFromNamedDefinition calls its super implementation
AbstractSharedSessionContract.initQueryFromNamedDefinition, which
already does a lot of the work performed in
SessionImpl.initQueryFromNamedDefinition.
The only difference is that SessionImpl uses hints to set values on the
query, whereas AbstractSharedSessionContract uses direct calls to
setters. But that should produce the same result, since setHint() just
delegates to the setters.

Only one thing was done in SessionImpl but not in
AbstractSharedSessionContract: lock mode handling.
I left it in SessionImpl since moving it to the superclass would also
affect other subclasses such as StatelessSession or OGM sessions, and I
certainly don't want to change any behavior without further
investigation.
2018-07-17 11:06:59 +02:00
Yoann Rodière a0e6d86052 HHH-12795 Test the flushMode attribute of @NamedQuery and @NamedNativeQuery 2018-07-17 11:06:59 +02:00
Yoann Rodière a9fdc1239a HHH-12795 Use the exact flush mode specified in @NamedQuery/@NamedNativeQuery when instantiating named queries
... instead of using an approximation in terms of JPA flush mode.
2018-07-17 11:06:59 +02:00
Guillaume Smet fa02d1c65f HHH-12811 Add @Target annotations to @CreationTimestamp and @UpdateTimestamp 2018-07-17 10:59:06 +02:00
Guillaume Smet 208e789bb1 HHH-12786 Improve the basic proxy interceptor
Apart from cosmetic changes, we were testing in the equals() method that the
instance == the proxied object which will always be true.

We should use the argument of the equals() method instead to do the
comparison.

And we can do the comparison on the instance, instead of requiring
passing the proxiedObject into the interceptor.
2018-07-16 17:34:48 +02:00
Guillaume Smet f722db367e HHH-12786 Only define the default constructor
We don't need the others, better not create them in the proxy.
2018-07-16 17:34:48 +02:00
Guillaume Smet ed53fd5346 HHH-12786 Allow to call methods when the interceptor is not set yet
Typically, if the constructor calls instrumented methods, the
interceptor is not defined yet and we get a NPE.
2018-07-16 17:34:48 +02:00
Guillaume Smet 3759f776ab HHH-12786 Properly indent the Bytebuddy DSL
It helps to understand what exactly these calls do.
2018-07-16 17:34:48 +02:00
Guillaume Smet f274db28f6 HHH-12804 Don't mock Map in CollectionBinderTest
Apparently, Mockito + ByteBuddy are unable to mock Map on JDK 11.

It might be solved in the future but there's no point in doing it so
let's avoid it.
2018-07-14 11:45:56 +02:00
Guillaume Smet 99b4f3c24a HHH-12801 Adjust the assertion to the new message generated by JDK 11 2018-07-14 11:43:16 +02:00
Guillaume Smet 5ec70ec22e HHH-12800 Use a class loading strategy suitable for the JDK used
The previously chosen strategy used misc.Unsafe which is not possible
anymore with JDK 11.
2018-07-14 11:43:16 +02:00
Gail Badner 9202a5a11d HHH-12802 : Fix test case to recover from exception properly 2018-07-13 15:51:39 -07:00
Gail Badner 926ad5a133 HHH-12802 : Hibernate does not thrown an exception when more than entity is loaded with the same ID 2018-07-13 14:45:11 -07:00
Gail Badner 2ef777e3fe HHH-12802 : test case 2018-07-13 14:43:53 -07:00
Vlad Mihalcea cf3622f64c HHH-12771 - Caused by: java.lang.UnsupportedOperationException: Cache provider [org.hibernate.cache.ehcache.internal.EhcacheRegionFactory@3271ec2a] does not support `transactional` access 2018-07-13 09:40:48 +03:00
Vlad Mihalcea 414a0dd75d HHH-12787 - SessionJdbcBatchTest hangs with DB2 2018-07-12 13:39:10 +03:00
Fabio Massimo Ercoli 3d1d1d2d98 HHH-12793 Upgrade Karaf, pax-exam and reenable the OSGi tests 2018-07-12 12:11:53 +02:00
Vlad Mihalcea 97b77bcde3 HHH-12768 - TimeAndTimestampTest fails with SQL Server and MYSQL 2018-07-11 18:17:15 +03:00
Yoann Rodière 479975dcb3 HHH-12695 Restore the getType method in ParameterRegistration
It was removed in 5.3.0.Beta1, but this breaks backward compatibility
with 5.1.
2018-07-11 09:56:43 +02:00
Yoann Rodière e9b8a80a99 HHH-12695 Rename org.hibernate.query.QueryParameter#getType to getHibernateType
Because it conflicts with the Class-returning getType method we want to
re-introduce in ParameterRegistration to restore backward compatibility.
2018-07-11 09:56:43 +02:00
Yoann Rodière 99c0c320bb HHH-12695 Add missing @Overrides in subclasses of javax.persistence.Parameter
Because we are in 2018 and Java 5 is now 14 years old.
2018-07-11 09:56:43 +02:00
Yoann Rodière 66d123be75 HHH-12695 Explicitly mark contracts as @Incubating, since a comment in QueryParameter implies they are in fact incubating
I did not mark ParameterRegistration as incubating, because it's a
pre-existing interface that we can't reasonably consider as incubating.

It's a bit odd to have a non-incubating contract (ParameterRegistration)
extend an incubating one (ProcedureParameter), though...
2018-07-11 09:56:43 +02:00
Guillaume Smet d32997a32d HHH-12784 Fix a regression in Javassist support 2018-07-11 09:52:31 +02:00
Gail Badner 579ee65fd3 HHH-12740 : Subselect fetching doesn't work when multiLoad was used 2018-07-10 18:37:21 -07:00
Robert Rettig 831bff13be HHH-8805 - [SchemaUpdate] javax.persistence.ForeignKey doesn't respect ConstraintMode.NO_CONSTRAINT 2018-07-10 13:09:07 +03:00
Yoann Rodière d4477ff5f8 HHH-7686 Add missing @Overrides in MapProxy 2018-07-09 16:27:31 +02:00
Yoann Rodière f3e62ea795 HHH-7686 Allow lazy loading outside of a transaction after dynamic map proxy deserialization if the proper settings were enabled
In theory, trying to deserialize MapLazyInitializer instances that were
serialized before this patch should still work, although using such
instances (i.e. trying to access any method on the proxy) would still
fail, just like it used to before this patch.
2018-07-09 16:27:31 +02:00
Yoann Rodière 1522efc0ad HHH-7686 Test dynamic map proxy serialization 2018-07-09 16:27:31 +02:00
Yoann Rodière 677f3dffba HHH-7686 Clarify and test initialization code in the writeReplace() method in proxies
If we copy the behavior of "traditional" (non-map) proxies to the
"dynamic-map" proxies, we'd better know what this behavior is and be
sure it works correctly.
2018-07-09 16:27:31 +02:00
Yoann Rodière 415f964a67 HHH-12720 Deprecate a useless constructor in AbstractSerializableProxy
A no-arg constructor is only necessary for superclasses of serializable
classes that are not themselves serializable. Here the class is
serializable, so the constructor is useless.
2018-07-09 16:27:31 +02:00
Yoann Rodière 41943fb920 HHH-12720 Allow lazy loading outside of a transaction after proxy deserialization if the proper settings were enabled 2018-07-09 16:27:31 +02:00
Yoann Rodière 4699c73243 HHH-12720 Test proxy serialization with hibernate.enable_lazy_load_no_trans = true 2018-07-09 16:27:31 +02:00
Guillaume Smet dcf1f66b8a HHH-12778 Register the cause when an exception occurs creating a proxy 2018-07-09 15:07:56 +02:00
Guillaume Smet daef4b7f08 Revert "HHH-12670 - Allows native SQL queries that take a given resultClass to map the result set to the required type"
This reverts commit 9fac6747ef.
2018-07-09 13:27:55 +02:00
Gail Badner 9b0c3ba600 HHH-12746 : Remove assertion that hashCodes are not equal from test 2018-07-04 15:55:30 -07:00
Gail Badner b4762fd52c Revert "HHH-12746 : CacheKeyImplementation objects with different entityOrRoleName and same id/tenantId have the same hashCode"
This reverts commit 220f41dc3b.
2018-07-04 15:52:11 -07:00
Gail Badner 8081aaec93 HHH-12729 : Correct Javadoc comments 2018-07-04 15:47:51 -07:00
Gail Badner c143e888d2 HHH-12729 : Binary and behavioral incompatibilities of org.hibernate.Query.getFirstResult(), setFirstResult(), getMaxResults(), setMaxResults() 2018-07-04 15:47:51 -07:00
Vlad Mihalcea 8fff54d6ee HHH-12769 - Rework LockTest#testContendedPessimisticLock so that it can work on Oracle without throwing exceptions 2018-07-04 21:00:11 +03:00
Vlad Mihalcea 6b3e4e6f56 HHH-12767 - Fix tests failing on Oracle 2018-07-04 17:49:42 +03:00
Guillaume Smet 88bfe7e66c HHH-12531 Make the legacy names public so that Infinispan can reuse them 2018-07-04 16:15:41 +02:00
Yoann Rodière 21eac287e9 HHH-12531 Default to using legacy region names when default query caches do not exist in the EhCache and JCache integrations 2018-07-04 10:03:23 +02:00
Yoann Rodière 63cc63b386 HHH-12531 Use short, simple names for the query result and update timestamps caching regions 2018-07-04 10:03:23 +02:00
Yoann Rodière 2649e1372c HHH-12649 Move the created cache warning to org.hibernate.cache.spi.SecondLevelCacheLogger 2018-07-04 09:44:50 +02:00
Guillaume Smet e7145cfe72 HHH-12727 Reduce the accesses to the statement -> result sets map 2018-07-04 09:37:44 +02:00
Guillaume Smet 4c22b52f80 HHH-12699 Resolve once and for all the method mapping in ResultSet proxy 2018-07-04 09:37:44 +02:00
Guillaume Smet 377b3d1fbe HHH-12699 Fix a typo 2018-07-04 09:37:44 +02:00
Yoann Rodière a19fc84320 HHH-12594 Properly share AliasResolutionContextImpl between EntityLoadQueryDetails instances
In particular, avoid contributing the aliases twice for the same
context: this would just trigger exceptions.
2018-07-04 09:22:09 +02:00
Sanne Grinovero 665110452e HHH-12692 Fixing style 2018-07-03 23:41:48 +01:00
Walter White 5f0024feae HHH-12692 SessionImpl#toString - add system identity hashcode
show the instance id in addition to whether the session is open or closed (when trace is not enabled).
2018-07-03 23:38:06 +01:00
Walter White a0633b84fe HHH-12692 SessionImpl#toString - remove overly verbose output
Is toString used, if so, when do we need to see the actionQueue or persistenceContext?
TRACE?
2018-07-03 23:37:50 +01:00
Andrea Boriero a9538ef710 HHH-12247 Verify JPA bootstrap errors are propagated 2018-07-03 19:52:37 +01:00
Sanne Grinovero 2253fad19d HHH-12247 Propagate bootstrapping exceptions rather than logging them at DEBUG level 2018-07-03 19:52:37 +01:00
Martin Simka d79d6267d0 [HHH-12765] don't use SQL Server reserved keyword in test 2018-07-03 19:28:39 +01:00
Yoann Rodière 212d8c01e5 HHH-11495 Update the javadoc of Metamodel#getImplementors to reflect the actual implementation
In particular, the actual implementations may not return all persisted
subtypes if the given type is persisted and "explicit polymorphism" is
enabled. So this really is more about HQL queries than about a class
hierarchy.
2018-07-03 19:00:13 +02:00
Yoann Rodière 600164869b HHH-11495 Add a missing @Override 2018-07-03 19:00:13 +02:00
Guillaume Smet 6c5e71fc40 HHH-11495 Only cache values if the class is mapped somehow 2018-07-03 19:00:13 +02:00
Guillaume Smet 7067b191b7 HHH-11495 Change the logic to be more efficient
We are optimistic about our chances to find the elements in the cache,
thus avoiding calling computeIfAbsent() if not necessary.

We only store in the cache the elements for which we have a proper
class, thus avoiding filling the cache with random values.
2018-07-03 19:00:13 +02:00
Guillaume Smet e17491a198 HHH-11495 Return a defensive copy of the array 2018-07-03 19:00:13 +02:00
Carlos Aristu 9684afda76 HHH-11495 Reduce criteria overhead by adding an implementors cache 2018-07-03 19:00:12 +02:00
Sanne Grinovero a67c6b9cd4 HHH-12760 Remove no longer needed EqualsHelper and cleanup some equality checks 2018-07-03 10:43:49 +01:00
Sanne Grinovero a3d39bbf96 HHH-12758 Arquillian JVM configuration for integration tests is ignoring system properties 2018-07-02 19:59:45 +01:00
Vlad Mihalcea 6f336b850c HHH-12749 - Avoid setting the isolation level to the same value in C3P0ConnectionProvider 2018-07-02 13:36:23 +03:00
Gail Badner 220f41dc3b HHH-12746 : CacheKeyImplementation objects with different entityOrRoleName and same id/tenantId have the same hashCode 2018-07-02 09:46:11 +02:00
Gail Badner f166b044a6 HHH-12746 : test case 2018-07-02 09:46:11 +02:00
Guillaume Smet 6b0ef0a5c4 HHH-12685 Fix a few warnings 2018-06-29 11:51:54 +02:00
Guillaume Smet 989ff9509f HHH-12685 Move the test where it should have been
Add an additional test for getParameters()
2018-06-29 11:51:54 +02:00
Andrea Boriero 673e4f7d01 HHH-12685 - Add tests 2018-06-29 11:51:54 +02:00
Andrea Boriero d64a9a9000 HHH-12685 - Fix CriteriaQueryTypeQueryAdapter parameters type validation issues 2018-06-29 11:51:54 +02:00
cristhiank d4a46fa93e HHH-12685 Add test case
Signed-off-by: cristhiank <calovi86@gmail.com>
2018-06-29 11:51:54 +02:00
Guillaume Smet 27409b27a3 HHH-12685 Convert the parameters to JPQL ones before calling isBound() 2018-06-29 11:51:54 +02:00
Vlad Mihalcea 07738c4d89 HHH-12738 - Session/EntityManager is closed in ForeignGenerator (JTA setup) 2018-06-29 11:09:00 +03:00
Gail Badner 3dcf69c687 HHH-12637 : Improvement to fix for HHH-12592
HHH-12637 : Rename/add new tests; remove sequences from IDs
2018-06-27 11:41:37 -07:00
Sanne Grinovero 06174d8433 HHH-12743 Cleanup some deprecated code from ProviderChecker 2018-06-27 13:42:12 +01:00
Sanne Grinovero 57ba794a62 HHH-12744 Remove no longer necessary jboss-deployment-structure.xml from integration tests 2018-06-27 13:42:12 +01:00
Guillaume Smet 09aa12496f HHH-12741 Add a comment to explain why we add the new keywords here 2018-06-27 13:28:47 +02:00
Yanming Zhou 0a4a609a42 HHH-12741 Register new reserved words added in MySQL 8.0
https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-new-8-0-A
2018-06-27 13:26:41 +02:00
Vlad Mihalcea b3e0d363bd HHH-12738 - Session/EntityManager is closed in ForeignGenerator (JTA setup)
Add test case proving the issue does not replicate for either RESOURCE_LOCAL or JTA transactions
2018-06-27 11:45:02 +03:00
Guillaume Smet 163cab99e2 HHH-12630 Keep the original starting exception and use it as a cause 2018-06-26 18:09:26 +02:00
Sanne Grinovero d0087948ef HHH-12640 Do not fully deprecate the WildFlyStandAloneJtaPlatform so to allow an explicit user choice 2018-06-26 15:44:17 +01:00
Scott Marlow 1a89a167b4 HHH-12640 deprecate WildFlyStandAloneJtaPlatform but still allow apps to reference it until we remove it in the future 2018-06-26 15:33:28 +01:00