ormbridge 0.13.0 → 0.15.0

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.
Files changed (116) hide show
  1. package/README.md +23 -22
  2. package/dist/cliRunner.js +20 -2
  3. package/dist/cliRunner.js.map +1 -1
  4. package/dist/config.d.ts +6 -1
  5. package/dist/config.js +17 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/emitters/jpa.d.ts +17 -2
  8. package/dist/emitters/jpa.js +55 -7
  9. package/dist/emitters/jpa.js.map +1 -1
  10. package/dist/emitters/jpaKeyClass.d.ts +18 -0
  11. package/dist/emitters/jpaKeyClass.js +88 -0
  12. package/dist/emitters/jpaKeyClass.js.map +1 -0
  13. package/dist/emitters/jpaKeys.d.ts +1 -7
  14. package/dist/emitters/jpaKeys.js +0 -43
  15. package/dist/emitters/jpaKeys.js.map +1 -1
  16. package/dist/emitters/jpaRelations.d.ts +5 -1
  17. package/dist/emitters/jpaRelations.js +7 -1
  18. package/dist/emitters/jpaRelations.js.map +1 -1
  19. package/dist/emitters/jpaRender.d.ts +5 -1
  20. package/dist/emitters/jpaRender.js +11 -4
  21. package/dist/emitters/jpaRender.js.map +1 -1
  22. package/dist/emitters/jpaTypes.d.ts +9 -3
  23. package/dist/emitters/jpaTypes.js +8 -0
  24. package/dist/emitters/jpaTypes.js.map +1 -1
  25. package/dist/emitters/sequelize.d.ts +16 -3
  26. package/dist/emitters/sequelize.js +270 -45
  27. package/dist/emitters/sequelize.js.map +1 -1
  28. package/dist/emitters/sequelize7.d.ts +68 -0
  29. package/dist/emitters/sequelize7.js +199 -0
  30. package/dist/emitters/sequelize7.js.map +1 -0
  31. package/dist/emitters/sequelizeText.d.ts +12 -0
  32. package/dist/emitters/sequelizeText.js +37 -0
  33. package/dist/emitters/sequelizeText.js.map +1 -0
  34. package/dist/formats.d.ts +13 -2
  35. package/dist/formats.js +17 -6
  36. package/dist/formats.js.map +1 -1
  37. package/dist/index.d.ts +7 -4
  38. package/dist/index.js +4 -2
  39. package/dist/index.js.map +1 -1
  40. package/dist/io.js +105 -26
  41. package/dist/io.js.map +1 -1
  42. package/dist/parsers/efcore.js +60 -3
  43. package/dist/parsers/efcore.js.map +1 -1
  44. package/dist/parsers/efcoreAnnotations.js +1 -1
  45. package/dist/parsers/efcoreAnnotations.js.map +1 -1
  46. package/dist/parsers/efcoreBuild.d.ts +1 -0
  47. package/dist/parsers/efcoreBuild.js +15 -4
  48. package/dist/parsers/efcoreBuild.js.map +1 -1
  49. package/dist/parsers/efcoreEntities.js +90 -22
  50. package/dist/parsers/efcoreEntities.js.map +1 -1
  51. package/dist/parsers/efcoreMigrationHistory.d.ts +17 -0
  52. package/dist/parsers/efcoreMigrationHistory.js +105 -0
  53. package/dist/parsers/efcoreMigrationHistory.js.map +1 -0
  54. package/dist/parsers/efcoreMigrationReplay.d.ts +25 -0
  55. package/dist/parsers/efcoreMigrationReplay.js +790 -0
  56. package/dist/parsers/efcoreMigrationReplay.js.map +1 -0
  57. package/dist/parsers/efcoreMigrationSchema.d.ts +14 -0
  58. package/dist/parsers/efcoreMigrationSchema.js +550 -0
  59. package/dist/parsers/efcoreMigrationSchema.js.map +1 -0
  60. package/dist/parsers/efcoreMigrationState.d.ts +82 -0
  61. package/dist/parsers/efcoreMigrationState.js +104 -0
  62. package/dist/parsers/efcoreMigrationState.js.map +1 -0
  63. package/dist/parsers/efcoreModel.d.ts +18 -2
  64. package/dist/parsers/efcoreOwned.d.ts +12 -0
  65. package/dist/parsers/efcoreOwned.js +139 -0
  66. package/dist/parsers/efcoreOwned.js.map +1 -0
  67. package/dist/parsers/efcoreSnapshot.d.ts +85 -0
  68. package/dist/parsers/efcoreSnapshot.js +791 -0
  69. package/dist/parsers/efcoreSnapshot.js.map +1 -0
  70. package/dist/parsers/efcoreSteps.js +28 -3
  71. package/dist/parsers/efcoreSteps.js.map +1 -1
  72. package/dist/parsers/jpaBuild.js +2 -1
  73. package/dist/parsers/jpaBuild.js.map +1 -1
  74. package/dist/parsers/jpaClasses.js +7 -1
  75. package/dist/parsers/jpaClasses.js.map +1 -1
  76. package/dist/parsers/jpaColumns.d.ts +4 -1
  77. package/dist/parsers/jpaColumns.js +8 -2
  78. package/dist/parsers/jpaColumns.js.map +1 -1
  79. package/dist/parsers/jpaEntities.js +15 -0
  80. package/dist/parsers/jpaEntities.js.map +1 -1
  81. package/dist/parsers/jpaModel.d.ts +6 -0
  82. package/dist/parsers/sequelize.js +37 -10
  83. package/dist/parsers/sequelize.js.map +1 -1
  84. package/dist/parsers/sequelizeAssociations.js +13 -2
  85. package/dist/parsers/sequelizeAssociations.js.map +1 -1
  86. package/dist/parsers/sequelizeCollect.d.ts +7 -2
  87. package/dist/parsers/sequelizeCollect.js +120 -9
  88. package/dist/parsers/sequelizeCollect.js.map +1 -1
  89. package/dist/parsers/sequelizeMigrationState.d.ts +75 -0
  90. package/dist/parsers/sequelizeMigrationState.js +330 -0
  91. package/dist/parsers/sequelizeMigrationState.js.map +1 -0
  92. package/dist/parsers/sequelizeMigrations.d.ts +14 -0
  93. package/dist/parsers/sequelizeMigrations.js +1123 -0
  94. package/dist/parsers/sequelizeMigrations.js.map +1 -0
  95. package/dist/parsers/sequelizeModel.d.ts +19 -2
  96. package/dist/parsers/sqlDdl.js +1306 -65
  97. package/dist/parsers/sqlDdl.js.map +1 -1
  98. package/dist/parsers/sqlMigrationOrder.d.ts +8 -0
  99. package/dist/parsers/sqlMigrationOrder.js +110 -0
  100. package/dist/parsers/sqlMigrationOrder.js.map +1 -0
  101. package/dist/parsers/sqlSyntax.d.ts +6 -0
  102. package/dist/parsers/sqlSyntax.js +15 -2
  103. package/dist/parsers/sqlSyntax.js.map +1 -1
  104. package/dist/parsers/zod.d.ts +11 -0
  105. package/dist/parsers/zod.js +796 -0
  106. package/dist/parsers/zod.js.map +1 -0
  107. package/dist/parsers/zodFields.d.ts +73 -0
  108. package/dist/parsers/zodFields.js +681 -0
  109. package/dist/parsers/zodFields.js.map +1 -0
  110. package/dist/parsers/zodSyntax.d.ts +72 -0
  111. package/dist/parsers/zodSyntax.js +347 -0
  112. package/dist/parsers/zodSyntax.js.map +1 -0
  113. package/dist/styles.d.ts +3 -3
  114. package/dist/styles.js +4 -4
  115. package/dist/styles.js.map +1 -1
  116. package/package.json +1 -1
package/README.md CHANGED
@@ -13,27 +13,27 @@ ormbridge converts data models from one Object-Relational Mapper (ORM) to anothe
13
13
 
14
14
  It reads source files with [tree-sitter](https://tree-sitter.github.io/), so you do not need Python, PHP, Go, or a database. The default `preserve` mode keeps your table and column names, so a new tool can sit on top of the database you already have. When something cannot be converted, ormbridge prints a warning that names the model and field.
15
15
 
16
- | Format | Read | Write | Notes |
17
- | --------------------------- | :--: | :---: | -------------------------------------------------------------------------------------------------- |
18
- | Django models | ✔ | ✔ | `models.py` files or `models/` packages |
19
- | Prisma schema | ✔ | ✔ | All six providers; Prisma 7 header with `--prisma-version 7` |
20
- | TypeORM entities | ✔ | ✔ | Decorator-based entity classes |
21
- | Doctrine ORM entities (PHP) | ✔ | ✔ | PHP 8 attributes; one file per entity |
22
- | Laravel (PHP) | ✔ | ✔ | Reads migrations plus Eloquent models; writes both |
23
- | GORM (Go) | ✔ | ✔ | Structs with `gorm` tags; one file per model |
24
- | Drizzle ORM (TypeScript) | ✔ | ✔ | `pgTable`, `mysqlTable`, `sqliteTable` plus `relations()` |
25
- | JSON Schema / OpenAPI | ✔ | ✔ | Draft 2020-12, 2019-09 and 7, and OpenAPI `components.schemas` (JSON) |
26
- | SQL DDL | ✔ | ✔ | `CREATE TABLE` and more for PostgreSQL, CockroachDB, MySQL, SQLite, SQL Server, ClickHouse (write) |
27
- | SQLAlchemy / SQLModel | ✔ | ✔ | SQLAlchemy 2.0 (declarative, `Column()`, `Table()`) and SQLModel |
28
- | Sequelize (JavaScript/TS) | ✔ | ✔ | Sequelize 6; writes TypeScript or `sequelize-cli` (`--style define`) |
29
- | Entity Framework Core (C#) | ✔ | ✔ | EF Core 8: annotations or `--style fluent`, and a `DbContext` |
30
- | Hibernate / JPA (Java) | ✔ | ✔ | Hibernate 6 `jakarta` (default) or Hibernate 5 `--style javax` |
31
- | TypeScript interfaces | | ✔ | Plain interfaces and enums for front ends |
32
- | Graphene (graphene-django) | | ✔ | GraphQL types, queries and mutations that pair with Django |
33
- | Zod schemas | | ✔ | Zod 4 schemas and inferred types |
34
- | Neo4j (Cypher) | | ✔ | Node constraints and indexes; relationships as comments; `--style enterprise` for Enterprise |
35
- | Spring Data Neo4j (Java) | | ✔ | SDN 7 for Spring Boot 3: `@Node`, `@Relationship`, `@RelationshipProperties` classes |
36
- | neomodel (Python, Neo4j) | | ✔ | `StructuredNode` classes, relationships with cardinality, `StructuredRel` for join tables |
16
+ | Format | Read | Write | Notes |
17
+ | --------------------------- | :--: | :---: | ------------------------------------------------------------------------------------------------------------------------------------ |
18
+ | Django models | ✔ | ✔ | `models.py` files or `models/` packages |
19
+ | Prisma schema | ✔ | ✔ | All six providers; Prisma 7 header with `--prisma-version 7` |
20
+ | TypeORM entities | ✔ | ✔ | Decorator-based entity classes |
21
+ | Doctrine ORM entities (PHP) | ✔ | ✔ | PHP 8 attributes; one file per entity |
22
+ | Laravel (PHP) | ✔ | ✔ | Reads migrations plus Eloquent models; writes both |
23
+ | GORM (Go) | ✔ | ✔ | Structs with `gorm` tags; one file per model |
24
+ | Drizzle ORM (TypeScript) | ✔ | ✔ | `pgTable`, `mysqlTable`, `sqliteTable` plus `relations()` |
25
+ | Zod schemas (TypeScript) | ✔ | ✔ | Reads Zod 3 and Zod 4 `z.object` schemas; writes Zod 4 schemas and inferred types |
26
+ | JSON Schema / OpenAPI | ✔ | ✔ | Draft 2020-12, 2019-09 and 7, and OpenAPI `components.schemas` (JSON) |
27
+ | SQL DDL | ✔ | ✔ | Tables and migrations: PostgreSQL, CockroachDB, MySQL, SQLite, SQL Server, ClickHouse (write only) |
28
+ | SQLAlchemy / SQLModel | ✔ | ✔ | SQLAlchemy 2.0 (declarative, `Column()`, `Table()`) and SQLModel |
29
+ | Sequelize (JavaScript/TS) | ✔ | ✔ | Sequelize 6 and 7, `sequelize-cli` migrations; writes TypeScript, `sequelize-cli` (`--style define`) or v7 decorators (`--style v7`) |
30
+ | Entity Framework Core (C#) | ✔ | ✔ | EF Core 8: annotations or `--style fluent`, a `DbContext`; replays migrations; `OwnsMany` |
31
+ | Hibernate / JPA (Java) | ✔ | ✔ | Hibernate 6 `jakarta` or 5 `--style javax`; `@EmbeddedId` keys; Lombok option |
32
+ | TypeScript interfaces | | ✔ | Plain interfaces and enums for front ends |
33
+ | Graphene (graphene-django) | | ✔ | GraphQL types, queries and mutations that pair with Django |
34
+ | Neo4j (Cypher) | | ✔ | Node constraints and indexes; relationships as comments; `--style enterprise` for Enterprise |
35
+ | Spring Data Neo4j (Java) | | ✔ | SDN 7 for Spring Boot 3: `@Node`, `@Relationship`, `@RelationshipProperties` classes |
36
+ | neomodel (Python, Neo4j) | | ✔ | `StructuredNode` classes, relationships with cardinality, `StructuredRel` for join tables |
37
37
 
38
38
  Each format has a [guide](./docs/formats/README.md) and a runnable [example project](./examples/README.md).
39
39
 
@@ -86,10 +86,11 @@ A TypeORM project to Prisma (a folder needs `--from`):
86
86
  ormbridge convert --from typeorm -i ./src/entities -o ./prisma/schema.prisma
87
87
  ```
88
88
 
89
- Prisma to Zod schemas:
89
+ Prisma to Zod schemas, and Zod schemas to Prisma (a folder needs `--from zod`):
90
90
 
91
91
  ```bash
92
92
  ormbridge convert -i ./prisma/schema.prisma --to zod -o ./src/schemas.ts
93
+ ormbridge convert --from zod -i ./src/schemas -o ./prisma/schema.prisma
93
94
  ```
94
95
 
95
96
  Prisma to a Neo4j Cypher schema (constraints and indexes; `--style enterprise` adds Enterprise Edition statements):
package/dist/cliRunner.js CHANGED
@@ -4,6 +4,7 @@ import { Command, CommanderError } from 'commander';
4
4
  import { findConfigFile, loadConfigFile, } from './config.js';
5
5
  import { PRISMA_PROVIDERS, } from './emitters/prisma.js';
6
6
  import { describeFormats, getFormat, getFormatByExtension, listFormatNames, listFormats, } from './formats.js';
7
+ import { isJpaKeyMode, JPA_KEY_MODES, } from './emitters/jpa.js';
7
8
  import { checkStyle, OUTPUT_STYLES } from './styles.js';
8
9
  import { countLines, runConversion, } from './io.js';
9
10
  /** Exit codes of the `ormbridge` command. */
@@ -64,13 +65,20 @@ function buildRunOptions(settings, mode) {
64
65
  }
65
66
  let style;
66
67
  if (settings.style !== undefined) {
67
- // The styles depend on the target: SQLAlchemy has sqlalchemy and sqlmodel, Sequelize init and define.
68
+ // The styles depend on the target: SQLAlchemy has sqlalchemy and sqlmodel, Sequelize init, define, v6 and v7.
68
69
  const checked = checkStyle(toValue, settings.style);
69
70
  if (!checked.ok) {
70
71
  return failure('INVALID_OPTION', checked.error.message);
71
72
  }
72
73
  style = checked.value;
73
74
  }
75
+ let jpaKey;
76
+ if (settings.jpaKey !== undefined) {
77
+ if (!isJpaKeyMode(settings.jpaKey)) {
78
+ return failure('INVALID_OPTION', `Invalid --jpa-key value "${settings.jpaKey}". Expected one of: ${JPA_KEY_MODES.join(', ')}.`);
79
+ }
80
+ jpaKey = settings.jpaKey;
81
+ }
74
82
  let prismaVersion;
75
83
  if (settings.prismaVersion !== undefined) {
76
84
  const versionText = String(settings.prismaVersion).trim();
@@ -103,6 +111,8 @@ function buildRunOptions(settings, mode) {
103
111
  : { goPackage: settings.goPackage }),
104
112
  ...(prismaVersion === undefined ? {} : { prismaVersion }),
105
113
  ...(style === undefined ? {} : { style }),
114
+ ...(jpaKey === undefined ? {} : { jpaKey }),
115
+ ...(settings.lombok === undefined ? {} : { lombok: settings.lombok }),
106
116
  ...(settings.conventions === undefined
107
117
  ? {}
108
118
  : { conventions: settings.conventions }),
@@ -189,6 +199,12 @@ function planRuns(flags, headerFromFlag, conventionsFromFlag, config, env, mode)
189
199
  if (flags.style !== undefined) {
190
200
  settings.style = flags.style;
191
201
  }
202
+ if (flags.jpaKey !== undefined) {
203
+ settings.jpaKey = flags.jpaKey;
204
+ }
205
+ if (flags.lombok !== undefined) {
206
+ settings.lombok = flags.lombok;
207
+ }
192
208
  const options = buildRunOptions(settings, mode);
193
209
  if (!options.ok) {
194
210
  const where = label === undefined ? '' : `conversion ${label}: `;
@@ -346,7 +362,9 @@ export async function runCli(argv, env) {
346
362
  .option('--namespace <name>', 'namespace of the generated classes: PHP for Doctrine (default: App\\Entity) and Laravel (default: App\\Models), C# for EF Core (default: App.Models), Java package for JPA and Spring Data Neo4j (default: app.models)')
347
363
  .option('--go-package <name>', 'Go package name of the GORM models (default: models)')
348
364
  .option('--prisma-version <version>', 'Prisma major version of the generator and datasource blocks (6 | 7) (default: 6; 7 writes the prisma-client generator and no datasource url)')
349
- .option('--style <name>', `layout of the SQLAlchemy, Sequelize, EF Core, JPA and Neo4j output (${OUTPUT_STYLES.join(' | ')}): sqlalchemy | sqlmodel for --to sqlalchemy (default: sqlalchemy), init | define for --to sequelize (default: init), annotations | fluent for --to efcore (default: annotations), jakarta | javax for --to jpa (default: jakarta), community | enterprise for --to neo4j (default: community; enterprise adds the statements that need Neo4j Enterprise Edition)`)
365
+ .option('--style <name>', `layout of the SQLAlchemy, Sequelize, EF Core, JPA and Neo4j output (${OUTPUT_STYLES.join(' | ')}): sqlalchemy | sqlmodel for --to sqlalchemy (default: sqlalchemy), init | define | v6 | v7 for --to sequelize (default: init; v6 is the same as init, v7 writes Sequelize 7 decorators), annotations | fluent for --to efcore (default: annotations), jakarta | javax for --to jpa (default: jakarta), community | enterprise for --to neo4j (default: community; enterprise adds the statements that need Neo4j Enterprise Edition)`)
366
+ .option('--jpa-key <mode>', `how the JPA output writes a composite primary key (${JPA_KEY_MODES.join(' | ')}): idclass writes an @IdClass class (default), embedded writes an @Embeddable key class with @EmbeddedId (and @MapsId on a relationship in the key); a single-column key is always an @Id; only --to jpa reads it`)
367
+ .option('--lombok', 'write Lombok annotations (@Getter, @Setter, @NoArgsConstructor; @EqualsAndHashCode on key classes) instead of hand-written accessors in the JPA output; the project needs Lombok; only --to jpa reads it')
350
368
  .option('--dry-run', 'run the conversion and report what would be written, without touching any file')
351
369
  .option('--check', 'exit with code 3 if an output file is missing or differs from the conversion; writes nothing')
352
370
  .option('--config <path>', 'read settings from this JSON config file instead of searching for ormbridge.config.json')
@@ -1 +1 @@
1
- {"version":3,"file":"cliRunner.js","sourceRoot":"","sources":["../src/cliRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliRunner.js","sourceRoot":"","sources":["../src/cliRunner.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type Result } from './result.js';
2
+ import { type JpaKeyMode } from './emitters/jpa.js';
2
3
  import { type OutputStyle } from './styles.js';
3
4
  /** File names searched for in each directory, in priority order. */
4
5
  export declare const CONFIG_FILE_NAMES: readonly string[];
@@ -24,11 +25,15 @@ export interface ConversionConfig {
24
25
  /** Prisma major version of the generated header (6 or 7). */
25
26
  prismaVersion?: 6 | 7;
26
27
  /**
27
- * Layout of the SQLAlchemy output (`sqlalchemy` or `sqlmodel`), the Sequelize output (`init` or `define`) or the
28
+ * Layout of the SQLAlchemy output (`sqlalchemy` or `sqlmodel`), the Sequelize output (`init`, `define`, `v6` or `v7`) or the
28
29
  * EF Core output (`annotations` or `fluent`) or the JPA output (`jakarta` or `javax`).
29
30
  * Which one applies depends on `to`, which is checked when the conversion runs.
30
31
  */
31
32
  style?: OutputStyle;
33
+ /** How the JPA output writes a composite primary key: `idclass` (default) or `embedded` (`@EmbeddedId`). */
34
+ jpaKey?: JpaKeyMode;
35
+ /** Write Lombok annotations instead of hand-written accessors in the JPA output (default false). */
36
+ lombok?: boolean;
32
37
  /** Write the `x-` convention keywords into JSON Schema output (default true). */
33
38
  conventions?: boolean;
34
39
  }
package/dist/config.js CHANGED
@@ -2,6 +2,7 @@ import { readFile, stat } from 'node:fs/promises';
2
2
  import { dirname, join, resolve } from 'node:path';
3
3
  import { PRISMA_PROVIDERS } from './emitters/prisma.js';
4
4
  import { describeThrown, err, ok } from './result.js';
5
+ import { isJpaKeyMode, JPA_KEY_MODES, } from './emitters/jpa.js';
5
6
  import { isOutputStyle, OUTPUT_STYLES } from './styles.js';
6
7
  /** File names searched for in each directory, in priority order. */
7
8
  export const CONFIG_FILE_NAMES = [
@@ -23,6 +24,8 @@ const CONVERSION_KEYS = [
23
24
  'goPackage',
24
25
  'prismaVersion',
25
26
  'style',
27
+ 'jpaKey',
28
+ 'lombok',
26
29
  'conventions',
27
30
  ];
28
31
  /**
@@ -210,6 +213,20 @@ function parseConversion(raw, prefix, baseDirectory) {
210
213
  }
211
214
  config.style = style;
212
215
  }
216
+ const jpaKey = raw['jpaKey'];
217
+ if (jpaKey !== undefined) {
218
+ if (typeof jpaKey !== 'string' || !isJpaKeyMode(jpaKey)) {
219
+ return fail('jpaKey', `must be one of ${JPA_KEY_MODES.join(', ')} (got ${describeValue(jpaKey)}).`);
220
+ }
221
+ config.jpaKey = jpaKey;
222
+ }
223
+ const lombok = raw['lombok'];
224
+ if (lombok !== undefined) {
225
+ if (typeof lombok !== 'boolean') {
226
+ return fail('lombok', `must be true or false (got ${describeValue(lombok)}).`);
227
+ }
228
+ config.lombok = lombok;
229
+ }
213
230
  const conventions = raw['conventions'];
214
231
  if (conventions !== undefined) {
215
232
  if (typeof conventions !== 'boolean') {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AAE7E,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,uBAAuB;IACvB,mBAAmB;CACpB,CAAC;AA2CF,MAAM,eAAe,GAAsB;IACzC,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,eAAe;IACf,OAAO;IACP,aAAa;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAsB;IAEtB,IAAI,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,SAAS,CAAC;QACR,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACrC,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAW,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY;IAEZ,MAAM,YAAY,GAAW,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,GAAG,CACR,gBAAgB,EAChB,mCAAmC,YAAY,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,GAAG,CACR,gBAAgB,EAChB,oBAAoB,YAAY,wBAAwB,cAAc,CAAC,MAAM,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACxC,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,IAAY;IACpD,MAAM,IAAI,GAAG,CAAC,OAAe,EAAsB,EAAE,CACnD,GAAG,CAAC,gBAAgB,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,aAAa,GAAW,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,cAAuB,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CACT,8EAA8E,CAC/E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA6B,eAAe,CACxD,QAAQ,EACR,EAAE,EACF,aAAa,CACd,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,KAAK,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAK,cAA4B,CAAC,OAAO,EAAE,EAAE,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,gBAAgB,KAAK,uBAAuB,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,MAAM,GAA6B,eAAe,CACtD,KAAK,EACL,eAAe,KAAK,IAAI,EACxB,aAAa,CACd,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,IAAI,GAAuB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,OAAO,IAAI,CACT,gBAAgB,KAAK,gCAAgC,IAAI,+BAA+B,CACzF,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,sGAAsG;AACtG,SAAS,eAAe,CACtB,GAA4B,EAC5B,MAAc,EACd,aAAqB;IAErB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,OAAe,EAA4B,EAAE,CACtE,GAAG,CAAC,gBAAgB,EAAE,IAAI,MAAM,GAAG,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC;IACxD,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAa,eAAe,CAAC,MAAM,CAC5C,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,IAAI,SAAS,KAAK,MAAM,CAC7D,CAAC;YACF,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,GAAG,CACR,gBAAgB,EAChB,gBAAgB,MAAM,GAAG,GAAG,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI;QAChB,MAAM;QACN,MAAM;QACN,IAAI;QACJ,UAAU;QACV,WAAW;QACX,WAAW;KACH,EAAE,CAAC;QACX,MAAM,KAAK,GAAY,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,OAAO,IAAI,CACT,GAAG,EACH,mCAAmC,aAAa,CAAC,KAAK,CAAC,IAAI,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAY,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,OAAO,IAAI,CACT,QAAQ,EACR,wCAAwC,aAAa,CAAC,MAAM,CAAC,IAAI,CAClE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAY,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClE,IACE,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAC9D,EACD,CAAC;YACD,OAAO,IAAI,CACT,OAAO,EACP,mEAAmE,aAAa,CAAC,KAAK,CAAC,IAAI,CAC5F,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,GAAI,OAAoB,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CACzD,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAY,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACpD,OAAO,IAAI,CACT,QAAQ,EACR,0CAA0C,aAAa,CAAC,MAAM,CAAC,IAAI,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,QAAQ,GAAY,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,CAAE,gBAAsC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3D,CAAC;YACD,OAAO,IAAI,CACT,UAAU,EACV,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,QAAQ,CAAC,IAAI,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,aAAa,GAAY,GAAG,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CACT,eAAe,EACf,kCAAkC,aAAa,CAAC,aAAa,CAAC,IAAI,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAY,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CACT,OAAO,EACP,kBAAkB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,IAAI,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,IAAI,CACT,aAAa,EACb,8BAA8B,aAAa,CAAC,WAAW,CAAC,IAAI,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,MAAM,MAAM,GAAY,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CACT,QAAQ,EACR,8BAA8B,aAAa,CAAC,MAAM,CAAC,IAAI,CACxD,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,SAAS,GAAY,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,IAAI,CACT,WAAW,EACX,kCAAkC,aAAa,CAAC,SAAS,CAAC,IAAI,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { MultiFileEmitOutput } from '../formats.js';
2
2
  import type { IrSchema } from '../ir.js';
3
3
  import { type NamingMode } from '../transforms.js';
4
- import { type JpaStyle } from './jpaTypes.js';
4
+ import { type JpaKeyMode, type JpaStyle } from './jpaTypes.js';
5
5
  import type { PrismaProvider } from './prisma.js';
6
6
  /**
7
7
  * Writes Hibernate / JPA entities (Java): one `@Entity` class per model, a Java `enum` per enum (with an
@@ -14,8 +14,12 @@ import type { PrismaProvider } from './prisma.js';
14
14
  * it back.
15
15
  */
16
16
  export { DEFAULT_JPA_PACKAGE, isValidJavaPackage } from './jpaNames.js';
17
- export type { JpaStyle } from './jpaTypes.js';
17
+ export type { JpaKeyMode, JpaStyle } from './jpaTypes.js';
18
18
  export declare const JPA_STYLES: readonly JpaStyle[];
19
+ /** The ways to write a composite primary key: an `@IdClass` class (default) or an `@Embeddable` with `@EmbeddedId`. */
20
+ export declare const JPA_KEY_MODES: readonly JpaKeyMode[];
21
+ /** True when a value is one of the JPA key modes (`--jpa-key`). */
22
+ export declare function isJpaKeyMode(value: string): value is JpaKeyMode;
19
23
  /** True when a value is one of the JPA `--style` values. */
20
24
  export declare function isJpaStyle(value: string): value is JpaStyle;
21
25
  export interface JpaEmitOptions {
@@ -28,6 +32,17 @@ export interface JpaEmitOptions {
28
32
  naming: NamingMode;
29
33
  /** The persistence API; defaults to `jakarta`. */
30
34
  style?: JpaStyle;
35
+ /**
36
+ * How a composite primary key is written: `idclass` (default; `@IdClass` and `@Id` on each key attribute) or
37
+ * `embedded` (an `@Embeddable` key class and one `@EmbeddedId`; a relationship in the key gets `@MapsId`).
38
+ * A single-column key is always an `@Id`.
39
+ */
40
+ keyMode?: JpaKeyMode;
41
+ /**
42
+ * Write Lombok annotations (`@Getter`, `@Setter`, `@NoArgsConstructor`; `@EqualsAndHashCode` on key classes)
43
+ * in place of hand-written accessors (default false).
44
+ */
45
+ lombok?: boolean;
31
46
  /** Java package of the generated classes; defaults to `app.models`. */
32
47
  packageName?: string;
33
48
  /** Write the `// <auto-generated>` comment at the top of every file (default true). */
@@ -3,8 +3,9 @@ import { normalizeSchema } from '../transforms.js';
3
3
  import { buildColumn, } from './jpaColumns.js';
4
4
  import { planEnums, renderConverterBody, renderEnumBody } from './jpaEnums.js';
5
5
  import { annotation } from './jpaFormat.js';
6
- import { renderIdClass, keyOf } from './jpaKeys.js';
7
- import { classNameOf, RESERVED_TYPE_NAMES, attributeNameOf, uniqueName, DEFAULT_JPA_PACKAGE, } from './jpaNames.js';
6
+ import { keyOf } from './jpaKeys.js';
7
+ import { renderKeyClass } from './jpaKeyClass.js';
8
+ import { classNameOf, javaString, RESERVED_TYPE_NAMES, attributeNameOf, uniqueName, DEFAULT_JPA_PACKAGE, } from './jpaNames.js';
8
9
  import { addInverseRelations, addOwningRelations, } from './jpaRelations.js';
9
10
  import { renderEntity, renderFile } from './jpaRender.js';
10
11
  import { tableAnnotation } from './jpaTable.js';
@@ -22,6 +23,12 @@ import { COCKROACH_PREFIX, cockroachSequentialWarning, isCockroach, } from './co
22
23
  */
23
24
  export { DEFAULT_JPA_PACKAGE, isValidJavaPackage } from './jpaNames.js';
24
25
  export const JPA_STYLES = ['jakarta', 'javax'];
26
+ /** The ways to write a composite primary key: an `@IdClass` class (default) or an `@Embeddable` with `@EmbeddedId`. */
27
+ export const JPA_KEY_MODES = ['idclass', 'embedded'];
28
+ /** True when a value is one of the JPA key modes (`--jpa-key`). */
29
+ export function isJpaKeyMode(value) {
30
+ return JPA_KEY_MODES.includes(value);
31
+ }
25
32
  /** True when a value is one of the JPA `--style` values. */
26
33
  export function isJpaStyle(value) {
27
34
  return JPA_STYLES.includes(value);
@@ -45,6 +52,7 @@ export function emitJpa(schema, options) {
45
52
  const layout = {
46
53
  packageName: options.packageName ?? DEFAULT_JPA_PACKAGE,
47
54
  header: options.header !== false,
55
+ lombok: options.lombok === true,
48
56
  };
49
57
  const files = {};
50
58
  planAndRender(prepared, options, style, layout, files, warnings);
@@ -166,8 +174,10 @@ function planAndRender(schema, options, style, layout, files, warnings) {
166
174
  keyTypes.set(model.name, found);
167
175
  }
168
176
  }
177
+ const keyMode = options.keyMode ?? 'idclass';
169
178
  const relationContext = {
170
179
  style,
180
+ keyMode,
171
181
  schema,
172
182
  plans,
173
183
  keys,
@@ -190,7 +200,9 @@ function planAndRender(schema, options, style, layout, files, warnings) {
190
200
  const imports = plan.imports;
191
201
  plan.classAnnotations.push(annotation(imports.persistence('Entity')), tableAnnotation({ model, imports, warn }));
192
202
  if (info.parts.length > 1) {
203
+ const embedded = keyMode === 'embedded';
193
204
  const parts = [];
205
+ const moved = [];
194
206
  for (const part of info.parts) {
195
207
  if (part.kind === 'field') {
196
208
  const column = built.get(part.field);
@@ -200,7 +212,14 @@ function planAndRender(schema, options, style, layout, files, warnings) {
200
212
  name,
201
213
  type: column.boxedType,
202
214
  imports: column.attribute.imports,
215
+ ...(embedded
216
+ ? {
217
+ // The key class holds the column; the @Id of the entity attribute is not needed there.
218
+ annotations: column.attribute.annotations.filter((node) => node.name !== 'Id'),
219
+ }
220
+ : {}),
203
221
  });
222
+ moved.push(column.attribute);
204
223
  }
205
224
  }
206
225
  else {
@@ -211,10 +230,22 @@ function planAndRender(schema, options, style, layout, files, warnings) {
211
230
  warn(`${model.name}.${part.relation.name}: the relation is part of the composite primary key but could not be written, so it is missing from the key.`);
212
231
  }
213
232
  else {
233
+ // The imports of the target's key are shared, so the key class gets a set of its own.
234
+ const partImports = new Imports(style);
235
+ partImports.merge(found.imports);
214
236
  parts.push({
215
237
  name: found.attribute,
216
238
  type: found.type,
217
- imports: found.imports,
239
+ imports: partImports,
240
+ ...(embedded
241
+ ? {
242
+ annotations: [
243
+ annotation(partImports.persistence('Column'), [
244
+ ['name', javaString(found.column)],
245
+ ]),
246
+ ],
247
+ }
248
+ : {}),
218
249
  });
219
250
  }
220
251
  }
@@ -222,10 +253,27 @@ function planAndRender(schema, options, style, layout, files, warnings) {
222
253
  const idName = uniqueName(`${plan.className}Id`, typeNames);
223
254
  plan.idClass = { name: idName, parts };
224
255
  const idImports = plan.imports;
225
- plan.classAnnotations.push(annotation(idImports.persistence('IdClass'), [
226
- [undefined, `${idName}.class`],
227
- ]));
228
- const rendered = renderIdClass(idName, parts, style);
256
+ if (embedded) {
257
+ // The key attributes move into the @Embeddable class; one @EmbeddedId attribute takes their place.
258
+ const firstAt = Math.max(0, Math.min(...moved.map((attribute) => plan.attributes.indexOf(attribute))));
259
+ plan.attributes = plan.attributes.filter((attribute) => !moved.includes(attribute));
260
+ const idAttribute = uniqueName('id', plan.used);
261
+ plan.attributes.splice(moved.length === 0 ? 0 : firstAt, 0, {
262
+ name: idAttribute,
263
+ type: idName,
264
+ annotations: [annotation(idImports.persistence('EmbeddedId'))],
265
+ imports: new Imports(style),
266
+ });
267
+ }
268
+ else {
269
+ plan.classAnnotations.push(annotation(idImports.persistence('IdClass'), [
270
+ [undefined, `${idName}.class`],
271
+ ]));
272
+ }
273
+ const rendered = renderKeyClass(idName, parts, style, {
274
+ embeddable: embedded,
275
+ lombok: layout.lombok === true,
276
+ });
229
277
  files[pathOf(layout.packageName, idName)] = renderFile(layout, rendered.imports, rendered.lines);
230
278
  }
231
279
  if (info.parts.length === 1 && info.parts[0]?.kind === 'relation') {
@@ -1 +1 @@
1
- {"version":3,"file":"jpa.js","sourceRoot":"","sources":["../../src/emitters/jpa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jpa.js","sourceRoot":"","sources":["../../src/emitters/jpa.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Imports, type IdPart, type JpaStyle } from './jpaTypes.js';
2
+ /** Writes the key class of a composite primary key: the `@IdClass` class or the `@Embeddable` class of an `@EmbeddedId`. */
3
+ export interface KeyClassOptions {
4
+ /** True for the `@Embeddable` class of an `@EmbeddedId`; false for the plain class of an `@IdClass`. */
5
+ embeddable: boolean;
6
+ /** Write Lombok annotations in place of the constructors, accessors, `equals` and `hashCode`. */
7
+ lombok: boolean;
8
+ }
9
+ /**
10
+ * The text of a key class file body: fields, constructors, `equals` and `hashCode`. The `@IdClass` class has
11
+ * plain fields; the `@Embeddable` class of an `@EmbeddedId` also carries the column annotations and the accessors.
12
+ * With Lombok the annotations `@NoArgsConstructor`, `@AllArgsConstructor` and `@EqualsAndHashCode` (and, for the
13
+ * embeddable, `@Getter` and `@Setter`) replace the methods.
14
+ */
15
+ export declare function renderKeyClass(name: string, parts: readonly IdPart[], style: JpaStyle, options?: KeyClassOptions): {
16
+ imports: Imports;
17
+ lines: string[];
18
+ };