Rob Bygrave
44770382fb
enh: Add findSingleAttributeOrEmpty() returning Optional
2024-01-19 10:41:54 +13:00
Rob Bygrave
0046d983cb
Adjust test such that table alias does not clash
...
The .raw("contact.customer_id = customer.id") clashes as "customer.id" is
a logical path from contact
2024-01-19 08:14:58 +13:00
Jakub Kaláb
2e1b52d7d4
WIP: fix TQRootBean.exists() when used with .or()
2024-01-18 11:32:34 +01:00
Rob Bygrave
4ebb5fd112
#3296 Add copy() method to query beans
2024-01-15 22:30:17 +13:00
Rob Bygrave
720832122c
Follow up for #3248 - add betweenProperties on query bean
2023-12-05 23:32:16 +13:00
Rob Bygrave
3f67425727
QueryBean generation - conditionally fully qualify the property types
...
If there is an entity bean short name clash like PString, PLong, etc then
fully qualify all the property types in the generated code, otherwise use
imports for the property types.
2023-11-29 00:46:56 +13:00
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
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
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
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
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
7474430a63
#2768 - ENH: Add eqIfPresent() - a helper expression for fluid style when some EQ are optional
2022-08-01 16:36:09 +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
86768dfe4d
Touch application-test.properties
2022-01-26 21:57:41 +13:00
Rob Bygrave
a9dbc036e9
Support H2database 2.x
2022-01-25 21:28:09 +13:00
Rob Bygrave
b3ee982b64
Use @NonNullApi to explicitly reflect non-null return types and params by default
2021-10-20 15:45:20 +13:00
Rob Bygrave
8ee67410f9
#2387 - Additionally support setIdIn(Collection<?> ids)
...
Add overloaded method taking Collection of id values.
2021-09-23 15:32:40 +12:00
rbygrave
eae8bbac82
Junit5 bump - ebean-querybean
2021-09-06 18:05:11 +12:00
Rob Bygrave
12c5e9ea5d
#2344 - Rename Database.getDataSource() to dataSource() with deprecation
2021-09-02 22:48:09 +12:00
rbygrave
99acd6d64f
Tidy test only - static imports for QCustomerByteArrayTest
2021-09-02 17:28:04 +12:00