Rob Bygrave
b3a577e3f9
#3234 - Query Bean Generator Generates Non-Compilable Code When Entity Uses @Embeddable Inner Class For Primary Key Type
2023-10-09 22:03:02 +13:00
Rob Bygrave
395edb62bf
In version 13.22 if the entity definition is in a different package, the generated query bean cannot resolve the symbol erro
2023-10-09 21:10:56 +13:00
Rob Bygrave
ff43672f4e
Move source to Jakarta (use ./jakarta-to-javax.sh)
...
Moving the master branch to use jakarta based code and
dependencies. Change to use ./jakarta-to-javax.sh to convert
back to javax when releasing that.
2023-09-11 23:31:01 +12:00
Rob Bygrave
f03892a4bd
#3216 - Fix querybean generation for @Embedded beans (fix for 13.22.0 change)
...
Version 13.22.0 added a change to query bean generation that has an issue for
embedded beans. This fixes that issue.
2023-09-11 23:01:44 +12:00
Rob Bygrave
01d89a01a5
Fix new test in QCustomerTest
2023-08-21 11:22:02 +12:00
Rob Bygrave
b0da647b0e
Fix javadoc for filterManyRaw()
2023-08-21 11:17:29 +12:00
Rob Bygrave
fbcd4c3133
Add filterManyRaw() and Deprecate filterMany( <string expressions> )
...
The filterMany( <string expressions> ) uses the language parser which
ultimately will we probably remove in ebean 15.x
Code can migrate to filterManyRaw() instead or better yet change to
use the improved query beans filterMany( <closure> ) option that will
be included in this same ebean release.
2023-08-21 11:15:39 +12:00
Rob Bygrave
3bf316af2b
Update Test QCustomerTest removing extra space character in the SQL
2023-08-19 10:17:00 +12:00
Rob Bygrave
ded4b94e54
Add Query bean filterMany() taking a closure
...
Query beans also generate a "Assoc" query bean that is used
for the relationships. Previously these were generated into a
.query.assoc package and with this they are generated as an
inner class of the query bean.
This then allows the change where an additional filterMany()
is generated on the "Assoc" bean that takes a closure. This
simplifies the use of query beans for filterMany.
This change to the generated query beans needs a change to the
ebean-agent enhancement.
2023-08-18 22:12:30 +12:00
Rob Bygrave
ec0c00eb72
Add Query alsoIf() to conditionally apply changes to a query
2023-08-15 21:56:50 +12:00
Rob Bygrave
ac466ecd79
#3125 Add query.usingMaster() for query beans
2023-07-03 23:30:02 +12:00
Rob Bygrave
e952b555e0
Add InTuples expression for multi-column IN expression
2023-07-03 11:49:53 +12:00
Rob Bygrave
2929483b0d
Refactor ebean-core internal API - getters -> accessors
2023-06-01 22:05:53 +12:00
Rob Bygrave
e71be4e1b1
Deprecate order() methods on Query, ExpressionList - migrate to orderBy()
...
Unfortunately we have order() and orderBy() methods which do the
same thing. I have decided to deprecate the order() ones in
favour of the orderBy() methods so that ultimately we will end
up with less methods and I think orderBy() is the correct choice.
Apologies for the migration pain here.
2023-06-01 21:21:39 +12:00
Rob Bygrave
bac7cd1ee7
Remove deprecated Query Bean fetchAll() - migrate to fetch()
...
```java
/**
* Deprecated in favor of fetch().
*/
@Deprecated
public final R fetchAll() {
return fetch();
}
```
2023-06-01 20:48:13 +12:00
Rob Bygrave
430926c5a9
Remove deprecated Query setLoadBeanCache() - migrate to setBeanCacheMode()
...
Typically migrate to `.setBeanCacheMode(CacheMode.PUT)` or `.setBeanCacheMode(CacheMode.OFF)`
```java
/**
* Deprecated - migrate to use setBeanCacheMode(CacheMode.PUT) or other CacheMode.
* <p>
* When set to true all the beans from this query are loaded into the bean cache.
*/
@Deprecated
Query<T> setLoadBeanCache(boolean loadBeanCache);
```
2023-06-01 20:44:31 +12:00
Rob Bygrave
79fd689e9a
Add support for raw SQL SubQuery expressions IN,EQ,NE,GT,GE,LT,LE,EXISTS,Not IN, Not EXISTS
...
For these expressions the SQL SubQuery is not parsed by ebean and
just used as is.
2023-03-24 22:38:52 +13:00
Rob Bygrave
0bb2f104a4
[QueryBeans] Fix for missing inherited properties when parent only has @DiscriminatorValue
...
A parent in the Inheritance hierarchy has @DiscriminatorValue but not the @Inheritance annotation. The bug means the inherited properties are not included on the generated query bean.
The fix is to the querybean-generator to pick up inherited properties for this case.
2023-02-28 23:02:19 +13:00
Rob Bygrave
4ec46e3008
[QueryBeans] Refactor splitting TQAssocBean into TQAssoc & TQAssocBean
...
- Requires ebean-agent to be up-to-date (13.13.2 or greater)
- Split TQAssocBean into 2, one for embeddable beans and the other for the reset
- The eq(), in() etc expressions go to TQAssoc
- Add fetch() methods to TQAssocBean
- No longer generate the fetch() methods as we now have them on TQAssocBean
2023-02-27 17:46:11 +13:00
Rob Bygrave
25416a3cda
For querybean associated beans, add missing eqIfPresent() + in() + notIn() + expressions
2023-02-26 19:24:00 +13:00
rob
2e0dba3741
#2981 - ENH: Add profile-line-number-mode with options none | all | auto ... to control adding line numbers to profile locations
2023-02-22 23:02:42 +13:00
rob
0b615a79cc
Add _ifPresent() expressions for GT, GE, LT, LE (follow up from #2768 )
2023-02-22 14:04:26 +13:00
rob
5882169641
Merge branch 'feature/StdExpressions'
2023-02-14 11:35:31 +13:00
Rob Bygrave
f97dcb60c0
Improve test only, QCustomerTest using AttributeConverter
2023-02-13 08:08:16 +13:00
Rob Bygrave
d2f629e7bb
#2914 - Query bean generation support for @ElementCollection with validaiton annotations - NPE NullPointerException
2022-12-08 11:10:23 +13:00
Rob Bygrave
4a0f8931a0
Add parameter type for Query.Property with DefaultUpdateQuery and TQRootBean
2022-11-09 23:41:42 +13:00
Rob Bygrave
3c8c52ca7f
Simplify to use single type (not use another different type for Query.Property)
2022-11-09 23:30:51 +13:00
Rob Bygrave
d29ef8934d
Add more operators to StdOperators
...
- stricter use of UpdateQuery.set()
- Numbers just use their own type - PBaseNumber
- PEnum just uses its own type
- Expr.factory() to expose factory
2022-11-09 17:47:16 +13:00
Rob Bygrave
97bbce321d
Make Query.Property parameterised with <BT> "Base Type" as Number, String, Temporal, Boolean or Object
...
These types then determine which functions are valid for the types. So:
- Number functions
- String/varchar functions
- Temporal Date, DateTime, Time functions
- Boolean functions
- Object being everything else
2022-11-08 21:57:36 +13:00
Rob Bygrave
3da924b943
Add Query.Property.of(), Move StdFunctions to ebean-api
2022-11-07 12:57:39 +13:00
Rob Bygrave
8565f5f807
Rename TQColumn -> Query.Property and move to api + use with UpdateQuery.set()
...
- Refactor rename TQColumn to Query.Property and move to ebean-api module
- Add UpdateQuery.set() methods to use Query.Property (as per #2849 )
2022-11-03 17:33:11 +13:00
Rob Bygrave
96e79248dc
Add StdFunctions, StdExpressions, TQColumn marker interface
2022-11-03 11:16:30 +13:00
Rob Bygrave
0a61852711
#2847 - Add support for Sub-query EQ, NE, LT, LE, GT, GE expressions
2022-11-03 00:22:48 +13:00
Rob Bygrave
dd0ed8ea76
#2873 - Query Beans: Support more TQProperty's as target value for inRangeWith()
2022-11-02 17:35:00 +13:00
Rob Bygrave
600aa10453
#2877 - Query Beans: Add lt, le, gt, ge <other property> e.g. whenRegistered.gt(QCustomer.Alias.whenActivated)
2022-11-02 16:32:49 +13:00
Rob Bygrave
f6b87ed0b4
#2876 & #2875 - Query Beans subquery exists/notExists + eq(other property), ne(other property)
2022-11-02 16:14:44 +13:00
Rob Bygrave
475f937421
#2858 - Example for entity-field-access
2022-10-14 11:08:49 +13:00
Rob Bygrave
674150dc75
Minor dependency bump for jackson, assertj-core, joda-time, h2database
2022-09-02 10:50:23 +12:00
Rob Bygrave
8632aef268
Add missing final modifier on methods of query bean types
2022-08-18 16:49:39 +12:00
Rob Bygrave
595c057964
#2784 - Fix @Return javadoc for TQRootBean.findSingleAttribute()
2022-08-16 17:03:07 +12:00
Rob Bygrave
d703709f14
#2784 - Correct documentation for TQRootBean.findSingleAttribute with @Nullable
2022-08-12 15:50:17 +12:00
Rob Bygrave
7474430a63
#2768 - ENH: Add eqIfPresent() - a helper expression for fluid style when some EQ are optional
2022-08-01 16:36:09 +12:00
Snōwball and GitHub
52759e0510
Add notIn(Query) to query beans
...
Missing from query beans, but is available in the `ExpressionList` class.
2022-07-20 14:54:30 +02:00
Rob Bygrave
9252e72581
#2748 - Fix such that .setLoadBeanCache(false) ... sets CacheMode.OFF
2022-07-20 07:45:20 +12:00
Rob Bygrave
23d52ca192
#2731 - Change ebean-querybean annotations from Retention RUNTIME to CLASS
2022-07-04 16:58:06 +12:00
Rob Bygrave
9dea51b7a0
#2692 - [querybean generation] Compile error, incorrect generation with nested inner class/record @Embeddable and @IdClass
2022-05-16 18:48:42 +12:00
Rob Bygrave
4b8eadad1c
Bump to 13.3.0-SNAPSHOT
2022-04-11 14:00:45 +12:00
Rob Bygrave
0a43b64f71
#2641 - Add a simple integration test for toString() implementation
2022-04-11 13:52:30 +12:00
Rob Bygrave
48d7e79b16
Remove deprecated findLargeStream(), migrate to findStream()
...
findLargeStream() became no longer become needed due to improvements in the persistence context. Migrate to just use findStream() instead.
2022-04-06 18:17:25 +12:00
Rob Bygrave
24d8f38b1d
#2374 - Bump to Java 11 and module-path
2022-03-31 08:42:14 +13:00