Commit Graph

5579 Commits

Author SHA1 Message Date
Davide D'Alto 39071a4d39 HHH-13704 Move EnhancerFileNotFoundTest
Tests requiring Javassist are now in a dedicated folder.
2019-12-12 10:33:32 +00:00
Davide D'Alto 2e5892236b HHH-13704 Remove Javassist from ClassFileArchiveEntryHandler
Use Jandex instead.
2019-12-12 10:33:32 +00:00
Davide D'Alto bac88eda53 HHH-13704 Typo: tupizer -> tuplizer 2019-12-12 10:33:32 +00:00
Steve Ebersole 8c671d98d0 minor 2019-12-11 19:43:37 -06:00
Nathan Xu 3a69b74894 HHH-13456 refactor ForeignGenerator to allow for the possibility of StatelessSession 2019-12-11 17:37:31 -06:00
Nathan Xu 8ce1404754 HHH-13644 fix the NPE by override ProcedureCallImpl's 'getResultStream()' method. 2019-12-11 17:23:22 -06:00
Steve Ebersole 28c0b05d0f `org.hibernate.metamodel.RuntimeMetamodels` 2019-12-11 15:03:32 -06:00
Andrea Boriero 1580613f8a HHH-13777 UnsupportedOperationException is thrown for MappedSuperclass if the id is declared on subclasses 2019-12-11 13:36:24 +00:00
Andrea Boriero 3eed218135 HHH-13769: Avoid unnecessary joins test 2019-12-11 09:43:16 +00:00
Andrea Boriero 31913eaeea Add tests for AttributeOverride 2019-12-11 09:43:16 +00:00
Steve Ebersole 996157fca1 HHH-13769: Avoid unnecessary joins
better support for lazy TableReference handling for collections;
removed TableReferenceCollector and TableReferenceContributor
2019-12-10 14:43:24 -06:00
Steve Ebersole dcbef8705c HHH-13769: Avoid unnecessary joins
better support for lazy TableReference handling for collections
2019-12-10 14:17:39 -06:00
Andrea Boriero becbaea172 Fix Could not resolve binding for Foreign Key for TableReference name with schema 2019-12-10 12:07:25 +00:00
Andrea Boriero 1363844ca0 Implement support for @Embeddable with ToMany and ToOne 2019-12-10 10:00:10 +00:00
Steve Ebersole 3be2369110 HHH-13769: Avoid unnecessary joins 2019-12-09 17:35:56 -06:00
Andrea Boriero 79c83cf8ba Merge remote-tracking branch 'upstream/master' into wip/6.0 2019-12-09 12:07:23 +00:00
Steve Ebersole 033eea4258 minor change
- initialize `#valueMapping` field during `org.hibernate.metamodel.mapping.EmbeddableMappingType` ctor by passing along the creator-function, allowing `#valueMapping` to become physically final (was always logically final).
2019-12-07 08:38:40 -06:00
Jan-Willem Gmelig Meyling a6b924ffe7 HHH-9301 Fix test under PostgreSQL 2019-12-05 14:00:01 +00:00
Andrea Boriero 963a516ea8 Revert "HHH-13752 - Test and fix deletion of entities with many-to-many assocations using non-primary keys for join table"
This reverts commit 58dd469e4c.
2019-12-05 12:34:27 +00:00
Andrea Boriero e924d55fdf Revert "HHH-13752 - Deletion of entities with many-to-many assocations using non-primary keys for join table"
This reverts commit 11455f3467.
2019-12-05 12:34:10 +00:00
Gail Badner 99868fb5f9 HHH-13355 : StaleStateException for updates to optional secondary table using saveOrUpdate 2019-12-05 12:05:24 +00:00
Gail Badner 69dad5fda5 HHH-13355 : test case 2019-12-05 12:05:24 +00:00
Gail Badner 6ce7831f77 HHH-13365 : Entities in joined subclass table are not inserted with batch size > 0 using sequence-identity ID generator 2019-12-05 11:36:04 +00:00
Gail Badner 7d11649d99 HHH-13365 : Added test case 2019-12-05 11:36:04 +00:00
Andrea Boriero 11455f3467 HHH-13752 - Deletion of entities with many-to-many assocations using non-primary keys for join table 2019-12-05 10:18:23 +00:00
Christian Beikov 58dd469e4c HHH-13752 - Test and fix deletion of entities with many-to-many assocations using non-primary keys for join table 2019-12-05 10:05:16 +00:00
Andrea Boriero a133aff97f HHH-13608 Fix failing tests 2019-12-05 09:25:32 +00:00
Jason Jijón 7daf67172a HHH-13758 - Limit Handler for SQL server doesn't work with CTE queries with strings literals 2019-12-04 19:38:56 +00:00
Sanne Grinovero 42752ec89d HHH-8901 Missing data cleanup in the new test 2019-12-04 17:44:02 +00:00
Sanne Grinovero 386d77129e HHH-13761 Debug logging of JPA compliance settings didn't log the value of the settings 2019-12-04 16:56:23 +00:00
Sanne Grinovero b9b15245b7 HHH-8901 Some very minor string handling optimisations 2019-12-04 16:37:34 +00:00
Nathan Xu ab9ae43185 HHH-8901 replace "in ()" SQL with "in (null)" in QueryParameterBindingsImpl 2019-12-04 16:05:10 +00:00
Davide D'Alto 4e449dfafa HHH-13764 Test behaviour doesn't change when @Embedded is on the getter 2019-12-03 20:40:53 +00:00
Davide D'Alto 4fb813f39c HHH-13764 Include getter annotations when required for the enhancements 2019-12-03 20:09:09 +00:00
Steve Ebersole d5125d8e31 HHH-13763 : Update all load-by-key handling to use SQL AST
minor fix-ups
2019-12-03 13:27:37 -06:00
Steve Ebersole e112d9631e HHH-13763 : Update all load-by-key handling to use SQL AST
SingleUniqueKeyEntityLoader
2019-12-03 13:12:57 -06:00
Steve Ebersole 0a41ac8466 HHH-13763 : Update all load-by-key handling to use SQL AST
* dropped `org.hibernate.loader.plan`
* dropped `org.hibernate.loader.custom` (*)
* dropped `org.hibernate.loader.collection`
* dropped `org.hibernate.loader.entity`
* dropped `org.hibernate.loader.hql`
* cleaned-up `org.hibernate.loader`
2019-12-03 11:31:45 -06:00
Davide D'Alto 98101bfc52 HHH-13759 Add AssertJ for testing Hibernate Core 2019-12-03 12:13:56 +00:00
Steve Ebersole 10cdb47a97 HHH-13763 : Update all load-by-key handling to use SQL AST
* Cleanup
* Prep for dropping LoadPlan
2019-12-02 15:05:26 -06:00
Steve Ebersole 264224a49e HHH-13763 : Update all load-by-key handling to use SQL AST
- Preliminary work on NaturalIdLoader
2019-12-02 13:49:27 -06:00
Steve Ebersole c96ad0dcea HHH-13763 : Update all load-by-key handling to use SQL AST
- Initial working support for the following load-by-key Loaders:

  * SingleIdEntityLoader
  * MultiIdEntityLoader
  * SingleKeyCollectionLoader
  * BatchKeyCollectionLoader
  * SubSelectFetchCollectionLoader
2019-12-02 13:49:27 -06:00
Andrea Boriero f836689be8 Fix merge errors 2019-12-02 10:22:56 +00:00
Andrea Boriero d2865a54df Merge remote-tracking branch 'upstream5/master' into wip/6.0_merge_15 2019-12-02 09:14:27 +00:00
Steve Ebersole 75d436ab25 HHH-13720: Implement mapping model support for plural attributes - sorted set;
HHH-13715: HQL/Criteria DELETE support - support for cleaning-up collection tables
2019-11-27 12:06:21 -06:00
Steve Ebersole 7b489b180c HH-13720: Implement mapping model support for plural attributes - sorted set 2019-11-27 07:23:28 -06:00
Andrea Boriero 6a403fa5d9 Fix delete of entity with plural attributes 2019-11-27 12:13:10 +00:00
Steve Ebersole afb9f9770d HHH-13746: Implement Load by Multiple Ids using SQL AST
composite id testing
2019-11-26 15:12:54 -06:00
Steve Ebersole c13bfdc338 initial working support for SQL-AST-based subselect-fetching 2019-11-26 14:54:36 -06:00
Steve Ebersole 0c6c8b4406 more work on multi-id entity loading and key-based loading in general 2019-11-25 15:58:50 -06:00
Vlad Mihalcea f08abf3628 HHH-13608 Oracle8iDialect should use CASE_INSENSITIVE pattern matching when checking the statement type 2019-11-25 15:41:33 +00:00
Jan-Willem Gmelig Meyling 21e79125e6 HHH-9301 - Support select variable refs in group by for DBMS dialects that support it
While not strictly compliant with the SQL specification, the MySQL, PostgreSQL and H2 support the use of select aliases in the GROUP BY clause. An obvious benefit is that produced SQL queries will be easier to read, because complex select expressions from aggregrate queries will have to be included in the group by clause as well. These can now simply reference the aliases of the respective columns for the tuple element. However, there is also a functional difference. For function invocations that have parameterized arguments, the query optimizer can't guarantee the that the function result between the selection projection and grouping process are equal. This results in an error because a value is projected which is not grouped by. An example where this for example becomes relevant, is when parameterizing TimeScaleDB's [`time_bucket_gapfill()`](https://docs.timescale.com/latest/api#time_bucket_gapfill-examples) function.

For example, using `time_bucket_gapfill()` one might want to produce a criteria query that produces the following SQL:

```sql
SELECT
    time_bucket_gapfill(?, time, ?, ?) AS ts,
    avg(tg) as tg
FROM iaqmeasurement
GROUP BY ts
ORDER BY ts;
```

When the alias is not used as grouping value, the query will yield an error:

```sql
SELECT
    time_bucket_gapfill(?, time, ?, ?) AS ts,
    avg(tg) as tg
FROM iaqmeasurement
GROUP BY time_bucket_gapfill(?, time, ?, ?)
ORDER BY ts;
```

Of course the parameter values can just be stored in a CTE as well, but I think we should consider support for variable refs in group by for DBMS dialects that support it. This pull request implements the feature equivalently to how its currently done for order by clauses, and only enables the feature for known supported dialects (H2, PostgreSQL and MySQL - based on [https://stackoverflow.com/a/3841804/2104280](https://stackoverflow.com/a/3841804/2104280)).

Jira: https://hibernate.atlassian.net/browse/HHH-9301

Co-authored-by: Sayra Ranjha <S.S.Ranjha@student.tudelft.nl>
2019-11-25 14:57:17 +00:00
Jan-Willem Gmelig Meyling bde7ca974b HHH-12895 - Extra LEFT JOIN generated with @ManyToOne and @JoinTable when projecting
on main entity id
2019-11-25 14:27:57 +00:00
Jan-Willem Gmelig Meyling 473566c50d HHH-13742 - Added additional tests 2019-11-25 12:15:21 +00:00
Steve Ebersole 0ec5af2985 HHH-13746 - Implement load-by-multiple-ids using SQL AST 2019-11-23 13:39:48 -06:00
Steve Ebersole 056469262d HHH-13081 - Pass BootstrapContext to Integrator#integrate;
HHH-11990 - Remove LogicalConnectionImplementor#makeShareableCopy

6.0 Alpha3 prep
2019-11-23 08:51:37 -06:00
Steve Ebersole 0d803cf25f HHH-13720 - Implement mapping model support for plural attributes
minor conflict
2019-11-23 03:31:16 -06:00
Steve Ebersole a6722fe57a HHH-13720 - Implement mapping model support for plural attributes
a lot is working.  annoying bug still that affects deleting "element collection" data
2019-11-23 03:25:14 -06:00
Andrea Boriero 8a196bc0e5 HHH-13725: Implement ToOne Associations support 2019-11-22 19:05:43 +00:00
Andrea Boriero f1bf079122 Merge remote-tracking branch 'upstream5/master' into wip/6.0_merge_14 2019-11-22 09:05:57 +00:00
Steve Ebersole 32fd79d214 HHH-13720 - Implement mapping model support for plural attributes
added some tests for maps
2019-11-21 23:58:30 -06:00
Steve Ebersole ecfb3da071 fixed concurrency problem uncovered during JMH-based throughput testing (Act 4 - which is really Act 2) 2019-11-21 22:04:22 -06:00
Steve Ebersole 2b65c73fb7 fixed concurrency problem uncovered during JMH-based throughput testing (Act 3) 2019-11-21 20:56:48 -06:00
Steve Ebersole 1b2aa85fa7 fixed concurrency problem uncovered during JMH-based throughput testing (Act 2) 2019-11-21 20:41:27 -06:00
Steve Ebersole db86a107f7 fixed concurrency problem uncovered during JMH-based throughput testing 2019-11-21 20:16:12 -06:00
Andrea Boriero 03c5bd406f work on aggregate composite identifier 2019-11-21 17:43:25 -06:00
Andrea Boriero 8e81f54a86 partially implemented QueryParamters#processFilters 2019-11-21 17:43:25 -06:00
Andrea Boriero 9a0ad0f21d work on aggregate composite identifier 2019-11-21 17:43:25 -06:00
Steve Ebersole 04c5160e02 pull over "legacy 6.0" tests 2019-11-21 15:29:13 -06:00
Steve Ebersole 7576b51407 pull over "legacy 6.0" tests 2019-11-21 14:48:38 -06:00
Jan-Willem Gmelig Meyling 325239353e HHH-13742 - Preliminary fix for HHH-13742 2019-11-21 16:28:49 +01:00
Jan-Willem Gmelig Meyling 8089d8c575 HHH-13742 - Missing from clause with joined inheritance property in association subquery 2019-11-21 15:30:41 +01:00
Andrea Boriero e4f70d508f HHH-13724 - Add more tests 2019-11-20 17:19:50 +00:00
Andrea Boriero a53772f6a0 HHH-13725 - Fix issue circular fetch detection 2019-11-20 10:38:24 -06:00
Andrea Boriero c8a1728bde HHH-13725 - Fix issue with DelayedEntityFetchImpl and FK not referring to PK 2019-11-20 10:38:24 -06:00
Andrea Boriero 343dd979ba HHH-13725 ToMany FkDescriptor creation and circular fetch detecion 2019-11-20 10:38:24 -06:00
Andrea Boriero aa3ff4507d HHH-13725 Work on circular fetch detection 2019-11-20 10:38:24 -06:00
Andrea Boriero 461e559184 HHH-13725 Add more tests 2019-11-20 10:38:24 -06:00
Andrea Boriero 4ca9617b6f HHH-13725 - Fix determining FK key name for OneToOne with PrimaryKeyJoinColumn 2019-11-20 10:38:24 -06:00
Andrea Boriero 4c614e0315 HHH-13725 Add more tests 2019-11-20 10:38:24 -06:00
Andrea Boriero 7db245230e HHH-13725 Fix join fetch with alias 2019-11-20 10:38:24 -06:00
Andrea Boriero 93c6c2e7e7 Add more tests 2019-11-20 10:38:24 -06:00
Andrea Boriero 97f9d4ce00 HHH-13725 Work on circular fetc detection 2019-11-20 10:38:24 -06:00
Steve Ebersole 032fdb5d2e HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries
CTE, id-table and in-line strategies are all implemented (though only id-table is tested);
  refactoring for performance (direct creation of SQL AST object directly, rather than SQM -> SQL AST) and as part of initial impls for remaining strategies (global temp and persistent id tables, and the "inline" strategy;
  fixed concurrency bug (thanks Luis!)
2019-11-20 10:36:24 -06:00
Steve Ebersole b04599cbe5 HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries
complete support for "local temp table"-based strategy
2019-11-18 12:20:48 -06:00
Andreas Knees be23e167af HHH-13722 Introducing a test case 2019-11-18 14:59:56 +00:00
Sanne Grinovero 7331a58d5e HHH-13722 ArrayStoreException in Constraint.generateName 2019-11-18 14:55:37 +00:00
Andrea Boriero 0dae701c93 HHH-13725 - Add more tests 2019-11-15 12:13:40 -06:00
Andrea Boriero ed49f6abcf HHH-13725 - Implement ManyToOne with Join Table associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 36bf9f9dfe changed order of AbstractEntityPersister#attributeMappings 2019-11-15 12:13:40 -06:00
Andrea Boriero b986ef1ea8 HHH-13725 - Implement ManyToOne associations 2019-11-15 12:13:40 -06:00
Andrea Boriero 0094236d98 HHH-13725 - Implement ManyToOne associations support done some code refactoring 2019-11-15 12:13:40 -06:00
Andrea Boriero d2851888f9 HHH-13725 - Implement ManyToOne associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 86dee1f66c HHH-13725 - Implement ManyToOne associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero bfb640196d HHH-13725 - Implement ToOne Associations support - add @FailureExpected to EntityWithManyToOneJoinTableTest 2019-11-15 12:13:40 -06:00
Andrea Boriero dd772ab2a0 HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 09d1dd3daf HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero a99881a103 HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero ef5db4aa3b HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 403bf9257c HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Gail Badner 76308e8a3e HHH-13737 : Correct log message and fix checkstyle failure 2019-11-14 18:22:01 -08:00