rbygrave
55bc498f9d
No functional change - refactor QueryIterator to use Iterator.remove()
...
default method
Iterator.remove() has a default implementation that throws UnsupportedOperationException which is what we want. Remove the close() method from QueryIterator and implementations so that we just use the Iterator.remove() default implementation.
2021-06-11 10:20:47 +12:00
rbygrave
4e088a40d9
Refactor DbJson Jackson handling adding DatabaseConfig.setJsonDirtyByDefault()
...
Adds the ability to change the default "jsonDirtyByDefault" configuration setting used with DbJson Jackson properties. Currently these default to being assumed dirty and this allows us to change that to be assumed not dirty (which is very likely the better default).
2021-06-11 00:08:03 +12:00
rbygrave
3c36b43449
No effective change - tidy EntityBeanIntercept
2021-06-10 19:26:56 +12:00
rbygrave
37dff62fa9
#2246 - ENH: Add DtoQuery findStream() and findIterate()
2021-06-10 14:55:31 +12:00
rbygrave
4fd462b1c8
#2244 - ENH: Add SQL Server support for transparent encryption via EncryptByPassPhrase, DecryptByPassPhrase
2021-06-10 13:34:33 +12:00
rbygrave
f3af43a9ce
Add support for findEach() on SqlQuery with RowMapper and scalar result
2021-06-09 15:49:48 +12:00
rbygrave
c9120be347
No effective change - tidy only H2HistoryTrigger and H2HistoryDdl
2021-06-04 17:37:37 +12:00
rbygrave
3c4d600187
#2223 #2224 Support BeanMap modification via entrySet() and keySet()
2021-05-23 17:17:34 +12:00
rbygrave
79740accfa
#2233 Fix with setter on ToMany now not invoking lazy loading
...
- ebean-agent changed to not invoke preGetter on ToMany (just like Id)
- EntityBeanIntercept preSetterMany() changed to ensure loading flag set
2021-05-21 08:48:42 +12:00
rbygrave
b17593ba3c
No effective change - tidy BeanList, BeanMap, BeanSet internals
2021-05-20 21:44:07 +12:00
rbygrave
eb00690b30
#2231 - Change OrderBy to not be final to support mocking via Mockito
2021-05-20 14:09:22 +12:00
Robin Bygrave
7f13ac9e5e
#2213 - Support autoPersistUpdates via TxScope
2021-04-08 23:15:49 +12:00
Rob Bygrave and GitHub
4a1374d22d
Merge pull request #2213 from ebean-orm/feature/transparentPersistence
...
Initial experimental support for autoPersistUpdates / "transparent persistence"
2021-04-08 23:03:05 +12:00
rbygrave
59793f3c01
Improve javadoc for Transaction#setGetGeneratedKeys
...
More clearly document the limitation that we can't update beans that don't have id values
2021-04-07 15:50:04 +12:00
Roman Parshikov and GitHub
9b04f20ed3
Fix copy/paste typo
2021-04-06 13:32:57 +08:00
Robin Bygrave
303039735f
Refactor rename transparentPersistence to autoPersistUpdates
2021-04-01 23:04:22 +13:00
Robin Bygrave
6bcf5c6881
Add DatabaseConfig.autoPersistUpdates for experimental "transparent persistence"
2021-04-01 22:57:34 +13:00
Robin Bygrave
a617d58902
Initial experimental support for "transparent persistence"
...
In short, when this is turned on at flush() get any dirty beans held by the PersistenceContext and persist them (always update for these beans)
2021-04-01 14:47:54 +13:00
Robin Bygrave
1bf09ddd38
#2211 - Improve javadoc for queryPlanTTLSeconds
...
Hopefully people understand it is unrelated. Unfortunately we now have some properties with similar names so maybe we need a better name for this sometime in the future.
2021-03-30 23:49:44 +13:00
Robin Bygrave
a8bf27da55
#2211 - Improve query plan capture - Align config property names
...
collectQueryPlans -> queryPlanEnable
collectQueryPlanThresholdMicros -> queryPlanThresholdMicros
properties keys:
ebean.collectQueryPlans -> ebean.queryPlan.enable
ebean.collectQueryPlanThresholdMicros -> ebean.queryPlan.thresholdMicros
This then aligns all the queryPlan related properties together which is important in order to avoid confusion.
2021-03-30 23:44:30 +13:00
Robin Bygrave
ee8bb5ef75
#2211 - Improve query plan capture - Add default mechanism to log captured query plans
2021-03-30 23:19:21 +13:00
Robin Bygrave
2a5fd7f3a9
#2210 - Improve query plan capture - ability to change default threshold micros
2021-03-30 16:02:27 +13:00
Robin Bygrave
d988dbe69d
#2209 - Registering [default] as the default server but [default] is already registered as the default exception with hot-reload
2021-03-30 09:56:48 +13:00
rob bygrave
91044d0a75
javadoc only - improve javadoc for DatabaseConfig.loadFromProperties()
2021-03-25 23:13:51 +13:00
Robin Bygrave
562d175de1
With FetchConfig.ofLazy() honor query.setLazyLoadBatchSize()
...
Use 0 for default lazy batch such that it honors a value set via query.setLazyLoadBatchSize()
2021-03-23 23:17:07 +13:00
Robin Bygrave
e40a539406
#2200 - ENH: Add DtoQuery findEach with batch consumer - findEach(int batchSize, Consumer<List<T>> consumer)
2021-03-18 17:02:41 +13:00
Robin Bygrave
1837c3443d
#2186 - Invalid generated table and column names of @ManyToMany relation with allQuotedIdentifiers=true
2021-03-17 21:02:59 +13:00
Robin Bygrave
e6faf9efd1
#2193 - Prevent registration of 2 default servers (2 Database that have defaultServer=true)
2021-03-11 23:21:44 +13:00
Rob Bygrave and GitHub
d75d1fce43
Change ModuleInfoLoader API and querybean-generator for named default database ( #2190 )
...
Currently we can not use @DbName with the entities of the default database. With this change the generated code that registers entity classes will support using @DbName with the default database.
2021-03-11 20:42:25 +13:00
Rob Bygrave
2bb5a85bd6
ENH: Add Query findEach() with batch consumer
...
This is a variation of findEach() that makes it easy to have a batch consumer processing a large result in batches. For example, process in batches of 50 beans.
Note that the last batch consumed/processed will often have less than the batch size.
2021-03-10 00:18:35 +13:00
robin
1a26cd717f
#2182 - Tidy javadoc - this may mean JDK 15 is required to generate javadoc
2021-03-01 23:40:06 +13:00
Robin Bygrave
7bfacb095b
#2181 - Oracle 9,10,11 rownum based limiting for SqlQuery and DtoQuery (rather than Oracle 12g row limiting)
2021-03-01 22:47:34 +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
5ebad53072
#2179 - Improve internals for outer join resulting in null many bean
...
Refactor improving the BeanList.internalAddWithCheck() for the null bean case
2021-03-01 14:00:40 +13:00
André Camilo and GitHub
3bb4126e26
#2169 Support for jakarta.validation.constraints.NotNull and ( #2170 )
...
jakarta.validation.constraints.Size
2021-02-17 18:04:43 +13:00
rob bygrave
cc64ff5f10
Update javadoc with use of FetchConfig.ofQuery() etc
2021-02-14 11:37:19 +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 and GitHub
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
e0c3a92b60
Refactor FetchConfig
2021-02-12 21:01:57 +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
400ae3cf4b
#2138 - Mark Transaction.flushBatch() as deprecated - migrate to flush();
2020-12-21 14:58:04 +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
Rob Bygrave and GitHub
786444a6b9
Refactor BackgroundExecutor add submit() methods returning Future ( #2121 )
...
- Adds submit() methods that return Future
- Refactor internals to use DaemonScheduleThreadPool
- Delete the now unused DaemonExecutorService
- Tidy internals using wrapMDC() methods
2020-12-03 13:16:51 +13:00
Rob Bygrave and GitHub
c66875449b
Add Query.withLock(LockType) and withLock(LockType, LockWait) ( #2116 )
...
Add Query.withLock(LockType) and withLock(LockType, LockWait)
2020-12-01 21:31:53 +13:00
rob bygrave
838af0478e
#2113 - Refactor rename Query.LockType enum names
2020-11-25 22:32:59 +13:00
rob bygrave
9064e96b90
#2113 - Refactor rename Query.ForUpdate to Query.LockWait
...
Slightly improve the name of the enum. Note that although this is on public Query it's only internally used.
2020-11-25 22:23:17 +13:00
rob bygrave
20fc74219a
#2089 - Postgres - Use NO KEY with FOR UPDATE clauses with Postgres
...
Rename PlatformConfig.defaultLockWithKey to PlatformConfig.forUpdateNoKey
2020-11-24 23:58:58 +13:00
rob bygrave
5c34b0daa5
Add support for Postgres lock types (no key, share, key share) with FOR UPDATE
2020-11-24 23:36:54 +13:00
Rob Bygrave and GitHub
21f43dc395
Merge pull request #2107 from ebean-orm/feature/ModifyAwareType
...
Refactor io.ebeaninternal.json.ModifyAwareOwner to io.ebean.ModifyAwareType
2020-11-24 22:05:04 +13:00