You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@ A Doma framework test project for benchmarking build performance with large numb
5
5
## Overview
6
6
7
7
This project is designed to test the build performance of Doma's annotation processor by automatically generating 200+ DAO interfaces and entity classes.
8
+
It includes comprehensive test suites for all generated DAOs to verify the functionality of batch operations and aggregate strategies.
8
9
9
10
## Requirements
10
11
@@ -57,6 +58,9 @@ Commands to generate large numbers of test classes:
57
58
# Generate only SQL files
58
59
./gradlew generateSqlFiles
59
60
61
+
# Generate test classes for all DAOs
62
+
./gradlew generateTests
63
+
60
64
# Remove all generated files
61
65
./gradlew removeGeneratedFiles
62
66
```
@@ -89,11 +93,21 @@ src/
89
93
│ └── resources/
90
94
│ └── META-INF/com/example/dao/ # SQL files
91
95
└── test/
96
+
└── java/
97
+
└── com/example/
98
+
└── dao/ # Generated DAO test classes
92
99
```
93
100
101
+
## Features
102
+
103
+
-**Batch Operations**: Support for batch insert, update, and delete operations
104
+
-**Aggregate Strategy**: Efficient loading of entity associations (Employee-Department relationships)
105
+
-**Performance Testing**: Designed to test annotation processor performance with 200+ entities
106
+
-**Comprehensive Test Suite**: Automated test generation for all DAOs
107
+
94
108
## Technology Stack
95
109
96
-
-**Doma 2**: Compile-time ORM framework
110
+
-**Doma 3.9.0**: Compile-time ORM framework with aggregate strategy support
(1, 'John Smith', 45, '1979-04-15', 'https://example.com/profiles/john.smith', 'Engineering Department Head with 10 years experience', 'Expert in Java, Python, and Go programming', 'Strong team management skills', 'Promotes agile development practices', 'Strategic technology planning', 'Focus on team member development', 'Technical consultation with clients', 'Evaluation and adoption of new technologies', 'Project quality management', 'Cross-department coordination', NULL, 1, 0),
361
+
(2, 'Sarah Johnson', 42, '1982-08-22', 'https://example.com/profiles/sarah.johnson', 'Sales Department Head for 8 years', 'Contributed to customer satisfaction improvement', 'Team sales target achievement rate 120%', 'Expert in new business development', 'Strong proposal and presentation skills', 'Building long-term client relationships', 'Sales strategy planning and execution', 'Supporting team skill development', 'Market analysis and competitive research', 'Sales budget management', 1, 1, 0);
362
+
363
+
-- RESET IDENTITY
364
+
ALTER TABLE department$i ALTER COLUMN id RESTART WITH 100;
365
+
ALTER TABLE employee$i ALTER COLUMN id RESTART WITH 100;
0 commit comments