Skip to content

Commit a10a9fc

Browse files
authored
Feature/storm 42 (#43)
* Fix WhereProcessor for PK/FK combination. * Improve join inclusion logic. * Improve how time-based types are get/set with JDBC. * Fine-tune reserved keywords for SQL dialects. Relates to #42
1 parent 1d86592 commit a10a9fc

File tree

31 files changed

+340
-278
lines changed

31 files changed

+340
-278
lines changed

README.adoc

Lines changed: 44 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -45,29 +45,29 @@ Maven (Java)::
4545
<dependency>
4646
<groupId>st.orm</groupId>
4747
<artifactId>storm-java21</artifactId>
48-
<version>1.6.0</version>
48+
<version>1.6.1</version>
4949
<scope>compile</scope>
5050
</dependency>
5151
<dependency>
5252
<groupId>st.orm</groupId>
5353
<artifactId>storm-core</artifactId>
54-
<version>1.6.0</version>
54+
<version>1.6.1</version>
5555
<scope>runtime</scope>
5656
</dependency>
5757
----
5858
Gradle (Java)::
5959
+
6060
[source,groovy]
6161
----
62-
implementation 'st.orm:storm-java21:1.6.0'
63-
runtimeOnly 'st.orm:storm-core:1.6.0'
62+
implementation 'st.orm:storm-java21:1.6.1'
63+
runtimeOnly 'st.orm:storm-core:1.6.1'
6464
----
6565
Gradle (Kotlin)::
6666
+
6767
[source,groovy]
6868
----
69-
implementation 'st.orm:storm-kotlin:1.6.0'
70-
runtimeOnly 'st.orm:storm-core:1.6.0'
69+
implementation 'st.orm:storm-kotlin:1.6.1'
70+
runtimeOnly 'st.orm:storm-core:1.6.1'
7171
----
7272
====
7373

@@ -291,8 +291,7 @@ DSL (Kotlin)::
291291
+
292292
[source,kotlin]
293293
----
294-
val user: User? = ORMTemplate.of(dataSource)
295-
.find { User_.email eq email } // Type-safe!
294+
val user: User? = ORMTemplate.of(dataSource).find { User_.email eq email } // Type-safe!
296295
----
297296
SQL Template::
298297
+
@@ -331,7 +330,7 @@ DSL (Java)::
331330
+
332331
[source,java]
333332
----
334-
List<User> usersInCity = ORMTemplate.of(dataSource).entity(User.class)
333+
List<User> usersInCity = orm.entity(User.class)
335334
.select()
336335
.where(User_.city, EQUALS, city) // Type-safe!
337336
.getResultList();
@@ -340,14 +339,13 @@ DSL (Kotlin)::
340339
+
341340
[source,kotlin]
342341
----
343-
val usersInCity: List<User> = ORMTemplate.of(dataSource)
344-
.findAll { User_.city eq city } // Type-safe!
342+
val usersInCity: List<User> = orm.findAll { User_.city eq city } // Type-safe!
345343
----
346344
SQL Template::
347345
+
348346
[source,java]
349347
----
350-
List<User> usersInCity = ORMTemplate.of(dataSource).query(RAW."""
348+
List<User> usersInCity = orm.query(RAW."""
351349
SELECT \{User.class}
352350
FROM \{User.class}
353351
WHERE \{city}""")
@@ -401,7 +399,7 @@ DSL (Java)::
401399
+
402400
[source,java]
403401
----
404-
List<UserRole> userRoles = ORMTemplate.of(dataSource).entity(UserRole.class)
402+
List<UserRole> userRoles = orm.entity(UserRole.class)
405403
.select()
406404
.where(UserRole_.role, EQUALS, role) // Type-safe!
407405
.getResultList();
@@ -410,14 +408,13 @@ DSL (Kotlin)::
410408
+
411409
[source,kotlin]
412410
----
413-
val userRoles: List<User> = ORMTemplate.of(dataSource)
414-
.findAll { UserRole_.role eq role } // Type-safe!
411+
val userRoles: List<User> = orm.findAll { UserRole_.role eq role } // Type-safe!
415412
----
416413
SQL Template::
417414
+
418415
[source,java]
419416
----
420-
List<UserRole> userRoles = ORMTemplate.of(dataSource).query(RAW."""
417+
List<UserRole> userRoles = orm.query(RAW."""
421418
SELECT \{UserRole.class}
422419
FROM \{UserRole.class}
423420
WHERE \{role}""")
@@ -434,7 +431,7 @@ DSL (Java)::
434431
+
435432
[source,java]
436433
----
437-
List<Role> roles = ORMTemplate.of(dataSource).entity(Role.class)
434+
List<Role> roles = orm.entity(Role.class)
438435
.select()
439436
.innerJoin(UserRole.class).on(Role.class)
440437
.where(UserRole_.user, EQUALS, user) // Type-safe!
@@ -444,7 +441,7 @@ DSL (Kotlin)::
444441
+
445442
[source,kotlin]
446443
----
447-
val roles: List<Role> = ORMTemplate.of(dataSource)
444+
val roles: List<Role> = orm.entity(Role::class)
448445
.select()
449446
.innerJoin(UserRole::class).on(Role::class)
450447
.whereAny(UserRole_.user eq user) // Type-safe!
@@ -454,7 +451,7 @@ SQL Template::
454451
+
455452
[source,java]
456453
----
457-
List<Role> roles = ORMTemplate.of(dataSource).query(RAW."""
454+
List<Role> roles = orm.query(RAW."""
458455
SELECT \{Role.class}
459456
FROM \{Role.class}
460457
INNER JOIN \{UserRole.class} ON \{UserRole_.role} = \{Role_.id}
@@ -475,7 +472,7 @@ DSL (Java)::
475472
+
476473
[source,java]
477474
----
478-
List<User> users = ORMTemplate.of(dataSource).entity(User.class)
475+
List<User> users = orm.entity(User.class)
479476
.select()
480477
.where(it -> it.where(User_.city, EQUALS, city)
481478
.and(it.where(User_.birthDate, LESS_THAN, LocalDate.of(2000, 1, 1))))
@@ -485,7 +482,7 @@ DSL (Kotlin)::
485482
+
486483
[source,kotlin]
487484
----
488-
val users: List<User> = ORMTemplate.of(dataSource)
485+
val users: List<User> = orm.entity(User::class)
489486
.select()
490487
.where(
491488
(User_.city eq city)
@@ -497,7 +494,7 @@ SQL Template::
497494
+
498495
[source,java]
499496
----
500-
List<User> users = ORMTemplate.of(dataSource).query(RAW."""
497+
List<User> users = orm.query(RAW."""
501498
SELECT \{User.class}
502499
FROM \{User.class}
503500
WHERE \{city}
@@ -540,7 +537,7 @@ DSL (Java)::
540537
+
541538
[source,java]
542539
----
543-
List<GroupedByCity> counts = ORMTemplate.of(dataSource).entity(User.class)
540+
List<GroupedByCity> counts = orm.entity(User.class)
544541
.select(GroupedByCity.class, RAW."\{City.class}, COUNT(*)")
545542
.groupBy(User_.city)
546543
.getResultList();
@@ -549,7 +546,7 @@ DSL (Kotlin)::
549546
+
550547
[source,kotlin]
551548
----
552-
val count: List<GroupedByCity> = ORMTemplate.of(dataSource)
549+
val count: List<GroupedByCity> = orm.entity(User::class)
553550
.select(GroupedByCity::class) { "${t(City::class)}, COUNT(*)" }
554551
.groupBy(User_.city)
555552
.resultList
@@ -558,7 +555,7 @@ SQL Template::
558555
+
559556
[source,java]
560557
----
561-
List<GroupedByCity> counts = ORMTemplate.of(dataSource).query(RAW."""
558+
List<GroupedByCity> counts = orm.query(RAW."""
562559
SELECT \{City.class}, COUNT(*)
563560
FROM \{User.class}
564561
GROUP BY \{User_.city}""")
@@ -582,7 +579,7 @@ DSL (Java)::
582579
+
583580
[source,java]
584581
----
585-
List<User> users = ORMTemplate.of(dataSource).entity(User.class)
582+
List<User> users = orm.entity(User.class)
586583
.select()
587584
.orderBy(User_.birthDate)
588585
.getResultList();
@@ -591,7 +588,7 @@ DSL (Kotlin)::
591588
+
592589
[source,kotlin]
593590
----
594-
val users: List<User> = ORMTemplate.of(dataSource)
591+
val users: List<User> = orm.entity(User::class)
595592
.select()
596593
.orderBy(User_.birthDate)
597594
.resultList
@@ -600,7 +597,7 @@ SQL Template::
600597
+
601598
[source,java]
602599
----
603-
List<User> users = ORMTemplate.of(dataSource).query(RAW."""
600+
List<User> users = orm.query(RAW."""
604601
SELECT \{User.class}
605602
FROM \{User.class}
606603
ORDER BY \{User_.birthDate}""")
@@ -788,7 +785,7 @@ DSL (Java)::
788785
[source,java]
789786
----
790787
Role role = ...;
791-
List<Ref<User>> users = ORMTemplate.of(dataSource).entity(UserRole.class)
788+
List<Ref<User>> users = orm.entity(UserRole.class)
792789
.selectRef(User.class)
793790
.where(UserRole_.role, role)
794791
.getResultList();
@@ -798,7 +795,7 @@ DSL (Kotlin)::
798795
[source,kotlin]
799796
----
800797
val role: Role = ...
801-
val users: List<Ref<User>> = ORMTemplate.of(dataSource)
798+
val users: List<Ref<User>> = orm.entity(UserRole::class)
802799
.selectRef(User::class)
803800
.where(UserRole_.role eq role)
804801
.resultList
@@ -808,7 +805,7 @@ SQL Template::
808805
[source,java]
809806
----
810807
Role role = ...;
811-
List<Ref<User>> users = ORMTemplate.of(dataSource).query(RAW."""
808+
List<Ref<User>> users = orm.query(RAW."""
812809
SELECT \{select(User.class, SelectMode.PK)}
813810
FROM \{UserRole.class}
814811
WHERE \{role}""")
@@ -827,7 +824,7 @@ DSL (Java)::
827824
[source,java]
828825
----
829826
List<Ref<User>> users = ...;
830-
List<Role> roles = ORMTemplate.of(dataSource).entity(UserRole.class)
827+
List<Role> roles = orm.entity(UserRole.class)
831828
.select(Role.class)
832829
.distinct()
833830
.whereRef(UserRole_.user, users)
@@ -838,7 +835,7 @@ DSL (Kotlin)::
838835
[source,kotlin]
839836
----
840837
val users: List<Ref<User>> = ...;
841-
val roles: List<Role> = ORMTemplate.of(dataSource)
838+
val roles: List<Role> = orm.entity(UserRole::class)
842839
.select(Role::class)
843840
.distinct()
844841
.where(UserRole_.user inRefs users)
@@ -849,7 +846,7 @@ SQL Template::
849846
[source,java]
850847
----
851848
List<Ref<User>> users = ...;
852-
List<Role> roles = ORMTemplate.of(dataSource).query(RAW."""
849+
List<Role> roles = orm.query(RAW."""
853850
SELECT DISTINCT \{Role.class}
854851
FROM \{UserRole.class}
855852
WHERE \{users}""")
@@ -893,7 +890,7 @@ DSL (Java)::
893890
+
894891
[source,java]
895892
----
896-
Map<Ref<City>, Long> counts = ORMTemplate.of(dataSource).entity(User.class)
893+
Map<Ref<City>, Long> counts = orm.entity(User.class)
897894
.select(GroupedByCity.class, RAW."\{select(City.class, SelectMode.PK)}, COUNT(*)")
898895
.groupBy(User_.city)
899896
.getResultList().stream()
@@ -903,7 +900,7 @@ DSL (Kotlin)::
903900
+
904901
[source,kotlin]
905902
----
906-
val counts: Map<Ref<City>, Long> = ORMTemplate.of(dataSource)
903+
val counts: Map<Ref<City>, Long> = orm.entity(User::class)
907904
.select(GroupedByCity::class) { "${t(select(City::class, SelectMode.PK))}, COUNT(*)" }
908905
.groupBy(User_.city)
909906
.resultList
@@ -913,7 +910,7 @@ SQL Template::
913910
+
914911
[source,java]
915912
----
916-
Map<Ref<City>, Long> counts = ORMTemplate.of(dataSource).query(RAW."""
913+
Map<Ref<City>, Long> counts = orm.query(RAW."""
917914
SELECT \{select(City.class, SelectMode.PK)}, COUNT(*)
918915
FROM \{User.class}
919916
GROUP BY \{User_.city}""")
@@ -1203,15 +1200,15 @@ Maven::
12031200
<dependency>
12041201
<groupId>st.orm</groupId>
12051202
<artifactId>storm-oracle</artifactId>
1206-
<version>1.6.0</version>
1203+
<version>1.6.1</version>
12071204
<scope>runtime</scope>
12081205
</dependency>
12091206
----
12101207
Gradle::
12111208
+
12121209
[source,groovy]
12131210
----
1214-
runtimeOnly 'st.orm:storm-oracle:1.6.0'
1211+
runtimeOnly 'st.orm:storm-oracle:1.6.1'
12151212
----
12161213
====
12171214

@@ -1233,15 +1230,15 @@ Maven::
12331230
<dependency>
12341231
<groupId>st.orm</groupId>
12351232
<artifactId>storm-metamodel-processor</artifactId>
1236-
<version>1.6.0</version>
1233+
<version>1.6.1</version>
12371234
<scope>provided</scope>
12381235
</dependency>
12391236
----
12401237
Gradle::
12411238
+
12421239
[source,groovy]
12431240
----
1244-
annotationProcessor 'st.orm:storm-metamodel-processor:1.6.0'
1241+
annotationProcessor 'st.orm:storm-metamodel-processor:1.6.1'
12451242
----
12461243
====
12471244

@@ -1306,15 +1303,15 @@ Maven::
13061303
<dependency>
13071304
<groupId>st.orm</groupId>
13081305
<artifactId>storm-json</artifactId>
1309-
<version>1.6.0</version>
1306+
<version>1.6.1</version>
13101307
<scope>compile</scope>
13111308
</dependency>
13121309
----
13131310
Gradle::
13141311
+
13151312
[source,groovy]
13161313
----
1317-
implementation 'st.orm:storm-json:1.6.0'
1314+
implementation 'st.orm:storm-json:1.6.1'
13181315
----
13191316
====
13201317

@@ -1442,15 +1439,15 @@ Maven (Java)::
14421439
<dependency>
14431440
<groupId>st.orm</groupId>
14441441
<artifactId>storm-spring</artifactId>
1445-
<version>1.6.0</version>
1442+
<version>1.6.1</version>
14461443
<scope>compile</scope>
14471444
</dependency>
14481445
----
14491446
Gradle (Java)::
14501447
+
14511448
[source,groovy]
14521449
----
1453-
implementation 'st.orm:storm-spring:1.6.0'
1450+
implementation 'st.orm:storm-spring:1.6.1'
14541451
----
14551452
Maven (Kotlin)::
14561453
+
@@ -1459,15 +1456,15 @@ Maven (Kotlin)::
14591456
<dependency>
14601457
<groupId>st.orm</groupId>
14611458
<artifactId>storm-kotlin-spring</artifactId>
1462-
<version>1.6.0</version>
1459+
<version>1.6.1</version>
14631460
<scope>compile</scope>
14641461
</dependency>
14651462
----
14661463
Gradle (Kotlin)::
14671464
+
14681465
[source,groovy]
14691466
----
1470-
implementation 'st.orm:storm-kotlin-spring:1.6.0'
1467+
implementation 'st.orm:storm-kotlin-spring:1.6.1'
14711468
----
14721469
====
14731470

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
</properties>
1414
<groupId>st.orm</groupId>
1515
<artifactId>storm-framework</artifactId>
16-
<version>1.6.0</version>
16+
<version>1.6.1</version>
1717
<packaging>pom</packaging>
1818
<name>Storm Framework</name>
1919
<description>A SQL Template and ORM framework, focusing on modernizing and simplifying database programming.</description>

storm-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>st.orm</groupId>
88
<artifactId>storm-framework</artifactId>
9-
<version>1.6.0</version>
9+
<version>1.6.1</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212
<artifactId>storm-core</artifactId>

0 commit comments

Comments
 (0)