eva4j 1.0.12 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +426 -9
- package/DOMAIN_YAML_GUIDE.md +374 -21
- package/FUTURE_FEATURES.md +94 -1
- package/docs/commands/GENERATE_ENTITIES.md +252 -2404
- package/docs/commands/GENERATE_RECORD.md +335 -311
- package/examples/doctor-evaluation.yaml +3 -3
- package/examples/domain-audit-complete.yaml +2 -2
- package/examples/domain-collections.yaml +2 -2
- package/examples/domain-ecommerce.yaml +2 -2
- package/examples/domain-events.yaml +1 -1
- package/examples/domain-field-visibility.yaml +11 -5
- package/examples/domain-multi-aggregate.yaml +6 -6
- package/examples/domain-one-to-many.yaml +1 -1
- package/examples/domain-one-to-one.yaml +1 -1
- package/examples/domain-secondary-onetomany.yaml +1 -1
- package/examples/domain-secondary-onetoone.yaml +1 -1
- package/examples/domain-simple.yaml +1 -1
- package/examples/domain-soft-delete.yaml +3 -3
- package/examples/domain-transitions.yaml +1 -1
- package/examples/domain-value-objects.yaml +1 -1
- package/package.json +1 -1
- package/src/utils/yaml-to-entity.js +69 -2
- package/templates/aggregate/AggregateRoot.java.ejs +5 -1
- package/templates/aggregate/DomainEntity.java.ejs +5 -1
- package/templates/aggregate/JpaAggregateRoot.java.ejs +2 -1
- package/templates/aggregate/JpaEntity.java.ejs +2 -1
- package/templates/base/root/AGENTS.md.ejs +916 -51
|
@@ -1,311 +1,335 @@
|
|
|
1
|
-
# Command `generate record` (alias: `g record`)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
```java
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
1
|
+
# Command `generate record` (alias: `g record`)
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
1. [Description and purpose](#1-description-and-purpose)
|
|
8
|
+
2. [Syntax](#2-syntax)
|
|
9
|
+
3. [How it works](#3-how-it-works)
|
|
10
|
+
4. [Interactive prompts](#4-interactive-prompts)
|
|
11
|
+
5. [JSON type inference](#5-json-type-inference)
|
|
12
|
+
6. [Nested records](#6-nested-records)
|
|
13
|
+
7. [Generation modes](#7-generation-modes)
|
|
14
|
+
8. [Suffix by target folder](#8-suffix-by-target-folder)
|
|
15
|
+
9. [Generated output](#9-generated-output)
|
|
16
|
+
10. [Complete examples](#10-complete-examples)
|
|
17
|
+
11. [Prerequisites and common errors](#11-prerequisites-and-common-errors)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. Description and purpose
|
|
22
|
+
|
|
23
|
+
`generate record` creates Java Record classes by **reading a JSON structure from the clipboard** and automatically inferring Java types. It handles nested objects and arrays by generating additional nested records.
|
|
24
|
+
|
|
25
|
+
It is designed for quickly scaffolding:
|
|
26
|
+
- Response DTOs
|
|
27
|
+
- Request/Command DTOs
|
|
28
|
+
- Query objects
|
|
29
|
+
- Event payloads
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. Syntax
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
eva generate record
|
|
37
|
+
eva g record # short alias
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
No positional arguments. The record name and module are provided interactively.
|
|
41
|
+
|
|
42
|
+
### Passing JSON directly
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
eva g record '{"id":"123","name":"John"}'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
When a string is passed as the first argument, it is treated as inline JSON instead of reading from the clipboard.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 3. How it works
|
|
53
|
+
|
|
54
|
+
1. Reads JSON from the **clipboard** (or from the inline argument)
|
|
55
|
+
2. Shows a preview of the parsed JSON
|
|
56
|
+
3. Asks interactive questions (record name, module, target folder)
|
|
57
|
+
4. Infers Java types for every field
|
|
58
|
+
5. Detects nested objects and arrays and generates additional nested records
|
|
59
|
+
6. Asks for generation mode when nested records exist
|
|
60
|
+
7. Writes the generated `.java` files to the application layer of the selected module
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 4. Interactive prompts
|
|
65
|
+
|
|
66
|
+
| Prompt | Description |
|
|
67
|
+
|--------|-------------|
|
|
68
|
+
| **Record name** | Base name for the main record (e.g., `OrderResponse`) |
|
|
69
|
+
| **Target module** | One of the existing modules in the project |
|
|
70
|
+
| **Target folder** | `dtos`, `commands`, `queries`, or `events` |
|
|
71
|
+
| **Generation mode** | Only shown when nested records exist (see [section 7](#7-generation-modes)) |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 5. JSON type inference
|
|
76
|
+
|
|
77
|
+
The generator maps JSON values to Java types using the following rules:
|
|
78
|
+
|
|
79
|
+
| JSON value | Java type |
|
|
80
|
+
|------------|-----------|
|
|
81
|
+
| `"hello"` | `String` |
|
|
82
|
+
| `"2024-01-15T10:30:00"` | `LocalDateTime` |
|
|
83
|
+
| `"2024-01-15"` | `LocalDate` |
|
|
84
|
+
| `"10:30:00"` | `LocalTime` |
|
|
85
|
+
| `"550e8400-e29b-41d4-a716..."` | `UUID` |
|
|
86
|
+
| `42` (integer) | `Integer` |
|
|
87
|
+
| `3.14` (decimal) | `Double` |
|
|
88
|
+
| `true` / `false` | `Boolean` |
|
|
89
|
+
| `null` | `Object` |
|
|
90
|
+
| `{ ... }` (object) | Nested Record |
|
|
91
|
+
| `[{ ... }]` (array of objects) | `List<NestedRecord>` |
|
|
92
|
+
| `["a", "b"]` (array of strings) | `List<String>` |
|
|
93
|
+
| `[1, 2]` (array of integers) | `List<Integer>` |
|
|
94
|
+
|
|
95
|
+
String detection for dates, times, and UUIDs is based on pattern matching against the value itself.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 6. Nested records
|
|
100
|
+
|
|
101
|
+
When the JSON contains nested objects or arrays of objects, the generator automatically creates additional records for each nested type:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"id": "abc-123",
|
|
106
|
+
"customer": {
|
|
107
|
+
"id": 1,
|
|
108
|
+
"name": "John"
|
|
109
|
+
},
|
|
110
|
+
"items": [
|
|
111
|
+
{
|
|
112
|
+
"productId": "PROD-1",
|
|
113
|
+
"quantity": 2,
|
|
114
|
+
"price": 9.99
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
From this JSON, with record name `Order` and target folder `dtos`, the generator detects:
|
|
121
|
+
|
|
122
|
+
- **`OrderDto`** — main record
|
|
123
|
+
- **`CustomerDto`** — from the nested `customer` object
|
|
124
|
+
- **`ItemDto`** — from the `items` array (name is singularized automatically)
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 7. Generation modes
|
|
129
|
+
|
|
130
|
+
When nested records are detected, the generator asks how to write them:
|
|
131
|
+
|
|
132
|
+
| Mode | Description |
|
|
133
|
+
|------|-------------|
|
|
134
|
+
| **Separate files** | One `.java` file per record (default) |
|
|
135
|
+
| **Nested structure** | A single `.java` file with inner records declared inside the main record |
|
|
136
|
+
|
|
137
|
+
### Separate files (default)
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
application/dtos/
|
|
141
|
+
├── OrderDto.java
|
|
142
|
+
├── CustomerDto.java
|
|
143
|
+
└── ItemDto.java
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Nested structure
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
application/dtos/
|
|
150
|
+
└── OrderDto.java ← contains CustomerDto and ItemDto as inner records
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 8. Suffix by target folder
|
|
156
|
+
|
|
157
|
+
The selected target folder determines the suffix automatically appended to each record name:
|
|
158
|
+
|
|
159
|
+
| Target folder | Suffix | Example |
|
|
160
|
+
|---------------|--------|---------|
|
|
161
|
+
| `dtos` | `Dto` | `OrderDto` |
|
|
162
|
+
| `commands` | `Command` | `OrderCommand` |
|
|
163
|
+
| `queries` | `Query` | `OrderQuery` |
|
|
164
|
+
| `events` | `Event` | `OrderEvent` |
|
|
165
|
+
|
|
166
|
+
The suffix is applied to all records, including nested ones.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 9. Generated output
|
|
171
|
+
|
|
172
|
+
**Location:**
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
src/main/java/{package}/{module}/application/{targetFolder}/{RecordName}{Suffix}.java
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Example generated file** (`OrderDto.java`):
|
|
179
|
+
|
|
180
|
+
```java
|
|
181
|
+
package com.example.myapp.orders.application.dtos;
|
|
182
|
+
|
|
183
|
+
import java.util.List;
|
|
184
|
+
import java.util.UUID;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* OrderDto record
|
|
188
|
+
* Generated from JSON
|
|
189
|
+
*/
|
|
190
|
+
public record OrderDto(
|
|
191
|
+
UUID id,
|
|
192
|
+
CustomerDto customer,
|
|
193
|
+
List<ItemDto> items
|
|
194
|
+
) {
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Imports for `java.time.*`, `java.util.UUID`, and `java.util.List` are added automatically when needed.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 10. Complete examples
|
|
203
|
+
|
|
204
|
+
### Example 1: Simple DTO from clipboard
|
|
205
|
+
|
|
206
|
+
Copy this JSON to your clipboard:
|
|
207
|
+
|
|
208
|
+
```json
|
|
209
|
+
{
|
|
210
|
+
"id": "550e8400-e29b-41d4-a716-446655440000",
|
|
211
|
+
"orderNumber": "ORD-001",
|
|
212
|
+
"customerId": "CUST-123",
|
|
213
|
+
"totalAmount": 149.99,
|
|
214
|
+
"orderDate": "2024-01-15T10:30:00",
|
|
215
|
+
"status": "CONFIRMED"
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Run:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
eva g record
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Prompts:
|
|
226
|
+
- Record name: `OrderResponse`
|
|
227
|
+
- Module: `orders`
|
|
228
|
+
- Target folder: `dtos`
|
|
229
|
+
|
|
230
|
+
Generated `OrderResponseDto.java`:
|
|
231
|
+
|
|
232
|
+
```java
|
|
233
|
+
package com.example.myapp.orders.application.dtos;
|
|
234
|
+
|
|
235
|
+
import java.time.LocalDateTime;
|
|
236
|
+
import java.util.UUID;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* OrderResponseDto record
|
|
240
|
+
* Generated from JSON
|
|
241
|
+
*/
|
|
242
|
+
public record OrderResponseDto(
|
|
243
|
+
UUID id,
|
|
244
|
+
String orderNumber,
|
|
245
|
+
String customerId,
|
|
246
|
+
Double totalAmount,
|
|
247
|
+
LocalDateTime orderDate,
|
|
248
|
+
String status
|
|
249
|
+
) {
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
### Example 2: Nested objects
|
|
256
|
+
|
|
257
|
+
Copy this JSON:
|
|
258
|
+
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"id": 1,
|
|
262
|
+
"customer": {
|
|
263
|
+
"id": 42,
|
|
264
|
+
"name": "John Doe",
|
|
265
|
+
"email": "john@example.com"
|
|
266
|
+
},
|
|
267
|
+
"items": [
|
|
268
|
+
{
|
|
269
|
+
"productId": "PROD-1",
|
|
270
|
+
"quantity": 2,
|
|
271
|
+
"unitPrice": 9.99
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"createdAt": "2024-01-15T10:30:00"
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Run:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
eva g record
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Prompts:
|
|
285
|
+
- Record name: `Order`
|
|
286
|
+
- Module: `orders`
|
|
287
|
+
- Target folder: `dtos`
|
|
288
|
+
- Generation mode: `Separate files`
|
|
289
|
+
|
|
290
|
+
Generated files:
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
application/dtos/
|
|
294
|
+
├── OrderDto.java
|
|
295
|
+
├── CustomerDto.java
|
|
296
|
+
└── ItemDto.java
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
`OrderDto.java`:
|
|
300
|
+
```java
|
|
301
|
+
public record OrderDto(
|
|
302
|
+
Integer id,
|
|
303
|
+
CustomerDto customer,
|
|
304
|
+
List<ItemDto> items,
|
|
305
|
+
LocalDateTime createdAt
|
|
306
|
+
) {
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
### Example 3: Inline JSON
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
eva g record '{"id":1,"name":"Product A","price":29.99}'
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 11. Prerequisites and common errors
|
|
321
|
+
|
|
322
|
+
### Prerequisites
|
|
323
|
+
|
|
324
|
+
- Project created with `eva create`
|
|
325
|
+
- At least one module created (`eva add module <name>`)
|
|
326
|
+
- Valid JSON in the clipboard (or passed as the first argument)
|
|
327
|
+
|
|
328
|
+
### Common errors
|
|
329
|
+
|
|
330
|
+
| Error | Cause | Solution |
|
|
331
|
+
|-------|-------|----------|
|
|
332
|
+
| `Failed to read or parse JSON from clipboard` | Clipboard is empty or contains invalid JSON | Copy valid JSON to clipboard before running the command |
|
|
333
|
+
| `Cannot generate record from empty array` | JSON is an empty array `[]` | Use an array with at least one element as template |
|
|
334
|
+
| `No modules found in project` | No modules exist yet | Run `eva add module <name>` first |
|
|
335
|
+
| `Module not found in filesystem` | Module is in config but missing on disk | Recreate the module with `eva add module <name>` |
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
aggregates:
|
|
6
6
|
- name: Evaluation
|
|
7
7
|
entities:
|
|
8
|
-
- name:
|
|
8
|
+
- name: Evaluation
|
|
9
9
|
isRoot: true
|
|
10
10
|
tableName: evaluations
|
|
11
11
|
auditable: true
|
|
@@ -28,7 +28,7 @@ aggregates:
|
|
|
28
28
|
cascade: [ PERSIST, MERGE, REMOVE ]
|
|
29
29
|
fetch: LAZY
|
|
30
30
|
|
|
31
|
-
- name:
|
|
31
|
+
- name: EvaluationDoctor
|
|
32
32
|
auditable: true
|
|
33
33
|
tableName: evaluation_doctors
|
|
34
34
|
fields:
|
|
@@ -50,7 +50,7 @@ aggregates:
|
|
|
50
50
|
type: List<Degrees>
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
- name:
|
|
53
|
+
- name: EvaluationBranch
|
|
54
54
|
tableName: evaluation_branchs
|
|
55
55
|
auditable: true
|
|
56
56
|
fields:
|