Robin Bygrave
f416309863
No effective change - change DefaultOrmQuery methods to return Query<T> rather than DefaultOrmQuery<T>
...
This is no effective functional change but we do need to update the test OrmQueryPlanKeyTest to cast now.
2021-03-02 14:44:54 +13:00
Robin Bygrave
6315edfc21
#2177 - findNative not mapping bean when schema specified in entity mapping
2021-03-01 22:08:17 +13:00
Robin Bygrave
eacfaf3403
No effective change - refactor tidy SqlTreeNodeBean
2021-03-01 21:19:25 +13:00
Robin Bygrave
297c1d7abb
#2179 - Improved fix for (2179) Fetch on nested one-to-many collections results in duplicates
...
The improvement here is that SqlTreeNodeManyRoot uses load and isContextBean() so that it only checks if the collection already contains the detailBean if the detailBean was already in the persistence context (aka not newly loaded and added). The vast majority case is that detailBean is loaded fresh so for the common case we can skip the extra collection contains() check.
2021-03-01 20:27:50 +13:00
Robin Bygrave
5a73c85e6e
Refactor internals - SqlTreeNodeBean add derived readIdNormal + private methods
...
This is no effective change
2021-03-01 18:36:49 +13:00
Robin Bygrave
68138bc009
Refactor internals no effective change - reorder methods of SqlTreeNodeManyRoot
2021-03-01 17:45:52 +13:00
Robin Bygrave
8c7df3212a
Refactor internals add SqlTreeRoot as follow up to #2179
...
Adds SqlTreeRoot interface to make it more explicit that SqlTreeNodeRoot is the only valid top level node in the sql tree (and as such has the root level load() method)
2021-03-01 17:44:13 +13:00
Robin Bygrave
6acf93c978
#2178 - Fix for duplicate instances added to collection for nested one-to-many fetch
...
This is an initial fix for this case.
2021-03-01 13:38:40 +13:00
Rob Bygrave
6aa4337b27
#2174 - Entity beans with @Cache + @DbArray of enums (or UUID or Integer) not converted to enums (come back as String) ( #2175 )
2021-02-19 22:42:48 +13:00
Rob Bygrave
b4ae721998
#2169 Refactor after #2170 tidy javax/jakarta validation annotation reading ( #2171 )
...
Introduces ReadValidationAnnotations with javax and jakarta implementations and moves the validation annotation reading there
2021-02-17 22:23:07 +13:00
André Camilo
3bb4126e26
#2169 Support for jakarta.validation.constraints.NotNull and ( #2170 )
...
jakarta.validation.constraints.Size
2021-02-17 18:04:43 +13:00
robin
de439e7695
Improve Refactor internals OrmQueryProperties invert isEmpty()
...
Rename to hasProperties() and improve javadoc
2021-02-16 23:20:44 +13:00
robin
e5ec72df5c
Refactor internals OrmQueryProperties invert isEmpty() -> nonEmpty()
2021-02-16 20:37:58 +13:00
Rob Bygrave
98a89156bf
Refactor query internals to reduce property parsing for partial select and fetch ( #2167 )
...
* Update test only - update TestBasicClobNoVer to use DB and AssertJ
* Refactor OrmQueryProperties internals to reduce raw property parsing
- Remove String properties
- Reduces parsing of properties via fetchProperties() selectProperties() methods
* No effective change - tidy pom.xml for ebean-querybean
* Refactor query internals adding fetchProperties() selectProperties()
- Adds SpiQueryFetch
- Used by query beans with Set<String> properties passed (effectively skipping any parsing)
2021-02-16 17:51:47 +13:00
rob bygrave
ab87174e5b
#2163 - Fix OrmQueryProperties when FetchConfig null
2021-02-14 11:30:24 +13:00
Rob Bygrave
a6fdc42934
Remove support for "query hints" like +query(50) ( #2163 )
...
* Remove support for "query hints" like +query(50)
* Remove unused readOnly from OrmQueryProperties
* OrmQueryProperties cache as final field
2021-02-14 11:21:10 +13:00
rob bygrave
4c16b85e85
#2166 - Remove deprecated forUpdate(lockType) methods - migrate to withLock(lockType, waitType)
2021-02-14 10:52:18 +13:00
rob bygrave
9e3d6c6a08
#2165 - Joda LocalDate West of UTC converts incorrectly (Fix: change from epoc millis conversion to y/m/d conversion)
2021-02-14 10:28:55 +13:00
Rob Bygrave
d567872813
Deprecate the mutating methods of FetchConfig to migrate to the static factory methods ( #2164 )
...
e.g. migrate from -> to use
new FetchConfig().query() -> FetchConfig.ofQuery()
new FetchConfig().query(50) -> FetchConfig.ofQuery(50)
2021-02-13 14:50:02 +13:00
rob bygrave
f1a48b182e
Refactor FetchConfig
2021-02-13 12:10:21 +13:00
Rob Bygrave
8ac5467856
Improve internal calculation of orm query plan hash key (Require use of inline hints like +query(50) to be comma delimited with properties) ( #2159 )
...
* WIP Tidy DefaultOrmQuery planDescription()
* WIP Tidy DefaultOrmQuery planDescription()
* Refactor OrmQueryPropertiesParser with hints requiring comma delimiting (previously didn't)
* Refactor OrmQueryPropertiesParser (reuse inputProperties) and DRawSqlColumnsParser (to return Set)
* Refactor OrmQueryPropertiesParser - remove JunkMain
* Refactor OrmQueryDetail, OrmQueryProperties - properties
2021-02-13 11:58:00 +13:00
rob bygrave
b56d68dac7
#2157 - ManyToMany mapping to itself results in broken generated SQL DDL when not defining @JoinTable.
2021-02-12 22:17:04 +13:00
rob bygrave
e0c3a92b60
Refactor FetchConfig
2021-02-12 21:01:57 +13:00
Rob Bygrave
d3a09b93c0
#2156 - Using @OneToOne(targetEntity...) with Interface field results in BeanNotRegisteredException ( #2160 )
2021-02-12 16:30:28 +13:00
Robin Bygrave
ac1dd4cbab
#2158 Refactor to use try with resources with Connection for platform selection via jdbc metaData
2021-02-11 17:28:05 +13:00
Robin Bygrave
bc33e05906
#2158 - Oracle - automatic platform selection doesn't select older Oracle11Platform via jdbc metadata major version
2021-02-11 17:20:28 +13:00
Robin Bygrave
d57657c209
#2127 - Fix for - Adding a new list of children to @OneToMany with orphanRemoval true does not delete existing orphans
...
Modifies EntityBeanIntercept preSetterMany to set the changed state on the many property and use this in SaveManyBeans to detect when the existing beans need orphan removal
2021-02-04 15:45:19 +13:00
Rob Bygrave
0be98d7989
Fix to only cancel query once ( #2152 )
...
Change DefaultOrmQuery.cancel() to call underlying jdbc cancel once
- Refactor tidy already cancelled check (pre query execution)
- Remove unnecessary extra transaction.end() call on future query execution (as already handled by CallableQueryList etc)
2021-02-03 14:51:42 +13:00
Robin Bygrave
e38059f52c
#2149 - Fix for ADD: jdbc batch flush doesnt execute sql statements created in lifecycle methods (e.g. beans saved in PostInsert etc)
...
Note that the foconis fork has a onPersist extension which is removed from the test.
2021-01-22 14:00:48 +13:00
Robin Bygrave
b44091ff3a
#2147 Fix for ADD: multiple to many outer joins cause wrong count in distinct count…
...
Copy of Rolands fix in FOCONIS branch. This also brings over some of the extra tests found there.
Note that the SQL is slightly different from the FOCONIS branch in that there is additional foreign key columns included in the sub-query select clause.
2021-01-21 16:56:42 +13:00
rob bygrave
5eac31283d
#2148 - PersistenceException: No ScalarType registered for class java.util.LinkedHashMap
2021-01-20 23:31:45 +13:00
rob bygrave
9dd28d8879
#2146 - Fix for Cache with lazy load doesnt work
...
When the list is empty() it has already been loaded and loading should skip the l2 cache
2021-01-20 21:10:49 +13:00
rob bygrave
9ccd1b1b27
No effective change - tidy whitespace in SqlTreeBuilder and SqlTreeNodeExtraJoin
2021-01-20 00:10:09 +13:00
rob bygrave
0c1657fef5
#2145 - SoftDelete predicate missing on join to ManyToOne supporting predicate expression
2021-01-20 00:00:27 +13:00
rob bygrave
7f68b9d846
No effective change - tidy whitespace in BeanDescriptorCacheHelp
2021-01-19 22:48:29 +13:00
rob bygrave
ade36582a0
#2144 - Fix for NPE via Wrong beans in PersistContext avoid proper lazy load
2021-01-19 22:37:15 +13:00
Roland Praml
a4b8be61e3
ADD: some suggestions/debug hints
2021-01-11 11:50:25 +01:00
rob bygrave
d8f4503d98
#2141 - Fix for failing test, revert of fix for #2127
2021-01-05 17:56:55 +13:00
rob bygrave
583e10f5c6
#2139 - Fix for - Failing testcase that shows wipe of all children on save (related to #2127 )
2020-12-22 15:49:37 +13:00
rob bygrave
6b2c48d4f6
#2135 - ebean doest not support Spring @Transactional(propagation = Propagation.REQUIRES_NEW)
2020-12-21 16:40:19 +13:00
rob bygrave
400ae3cf4b
#2138 - Mark Transaction.flushBatch() as deprecated - migrate to flush();
2020-12-21 14:58:04 +13:00
rob bygrave
f22a322104
No effective change - Refactor tidy AbstractSqlQueryRequest after #2137
...
- Rename trans to transaction
- Tidy whitespace
2020-12-21 14:18:13 +13:00
rob bygrave
e98ff952bf
#2137 - Expected Transaction flush on SqlQuery and DtoQuery not occurring
2020-12-21 14:11:28 +13:00
rob bygrave
1bdc6d8f7f
#2134 - Modify ChangeLog to send the last set of changes Pre Commit (rather than post commit). Expose this for spring transactions.
2020-12-18 14:54:44 +13:00
rob bygrave
e9081a176f
#2133 - Spring transactions not getting ChangeLog changeSet as part of postCommit() processing
2020-12-18 14:14:43 +13:00
Rob Bygrave
55324653a5
#2127 - Adding a new list of children to @OneToMany with orphanRemoval true does not delete existing orphans ( #2131 )
2020-12-16 15:36:44 +13:00
rob bygrave
7389a8b344
#2124 - ENH: Add name() attribute to @DbArray, @DbJson, @DbJsonB, @DbMap
2020-12-07 22:46:04 +13:00
rob bygrave
d68f477e8e
#2120 - DbEnumValue without database constraint
2020-12-07 21:53:03 +13:00
rob bygrave
dbe273bb56
#2123 - Modify BackgroundExecutor API - add scheduleWithFixedDelay() and mark executePeriodically() as deprecated
2020-12-07 17:14:03 +13:00
rob bygrave
9d706056c6
No functional change, replace new ReentrantLock(false) with new ReentrantLock()
2020-12-04 21:18:55 +13:00