-
Notifications
You must be signed in to change notification settings - Fork 140
Review databases "compiled to" from CAP Java #2329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Patrice Bender <patrice.bender@sap.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling Mistakes
- guides/databases/cdl-to-ddl.md:196:22 Unknown word "slugified"
- guides/databases/cdl-to-ddl.md:197:23 Unknown word "slugification"
- guides/databases/cdl-to-ddl.md:197:120 Unknown word "slugified"
- guides/databases/cdl-to-ddl.md:204:24 Unknown word "slugified"
- guides/databases/cdl-to-ddl.md:205:70 Unknown word "slugified"
Generally, for each spelling mistake there are 2 ways to fix it:
- Fix the spelling mistake and commit it.
- The word is incorrectly reported as misspelled → put the word on the project-words.txt list, located in the root project directory.
|
|
||
| > [!tip] Guaranteed & Stable Slugification | ||
| > The slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in native SQL queries. For example, both of the following CQL queries are equivalent and will work as expected: | ||
| > [!tip] You may use slugified names in CAP Node.js |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > [!tip] You may use slugified names in CAP Node.js | |
| > [!tip] You may use studified names in CAP Node.js |
Or maybe one of these: slugged, slugify, sluiced, slugabed?
| > [!tip] Guaranteed & Stable Slugification | ||
| > The slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in native SQL queries. For example, both of the following CQL queries are equivalent and will work as expected: | ||
| > [!tip] You may use slugified names in CAP Node.js | ||
| > In CAP Node.js, the slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in _native SQL_ queries. For example, both of the following CQL queries are equivalent and will work as expected: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > In CAP Node.js, the slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in _native SQL_ queries. For example, both of the following CQL queries are equivalent and will work as expected: | |
| > In CAP Node.js, the specification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in _native SQL_ queries. For example, both of the following CQL queries are equivalent and will work as expected: |
Or maybe one of these: ?
| > [!tip] Guaranteed & Stable Slugification | ||
| > The slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in native SQL queries. For example, both of the following CQL queries are equivalent and will work as expected: | ||
| > [!tip] You may use slugified names in CAP Node.js | ||
| > In CAP Node.js, the slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in _native SQL_ queries. For example, both of the following CQL queries are equivalent and will work as expected: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > In CAP Node.js, the slugification effects are guaranteed and stable, which means that you can rely on it and use the slugified names in _native SQL_ queries. For example, both of the following CQL queries are equivalent and will work as expected: | |
| > In CAP Node.js, the slugification effects are guaranteed and stable, which means that you can rely on it and use the studified names in _native SQL_ queries. For example, both of the following CQL queries are equivalent and will work as expected: |
Or maybe one of these: slugged, slugify, sluiced, slugabed?
| await cds.run `SELECT from sap.capire.bookshop.Books` | ||
| await cds.run `SELECT from sap_capire_bookshop_Books` | ||
| ``` | ||
| > [!warning] Don't use slugified names in CAP Java |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > [!warning] Don't use slugified names in CAP Java | |
| > [!warning] Don't use studified names in CAP Java |
Or maybe one of these: slugged, slugify, sluiced, slugabed?
| await cds.run `SELECT from sap_capire_bookshop_Books` | ||
| ``` | ||
| > [!warning] Don't use slugified names in CAP Java | ||
| In CAP Java, you can use fully qualified entity names with dots. The slugified names can't be used in CQL queries. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| In CAP Java, you can use fully qualified entity names with dots. The slugified names can't be used in CQL queries. | |
| In CAP Java, you can use fully qualified entity names with dots. The studified names can't be used in CQL queries. |
Or maybe one of these: slugged, slugify, sluiced, slugabed?
| > It's **strongly discouraged** to use names that contain non-ASCII characters, or conflict with database reserved words. Even more avoid [delimited names](../../cds/cdl#keywords-identifiers) in CDS models in the first place, as that impacts readability of your models. | ||
|
|
||
| > [!warning] Avoid using reserved Java keywords | ||
| > A CAP Java project usually uses generated [accessor interfaces](../../java/cds-data#generated-accessor-interfaces). Avoid using reserved Java keywords as identifiers in a CDS model as using Java keywords might cause generated interfaces that don't compile. You may use the `@cds.java.name` annotation to mitigate such conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or
| > A CAP Java project usually uses generated [accessor interfaces](../../java/cds-data#generated-accessor-interfaces). Avoid using reserved Java keywords as identifiers in a CDS model as using Java keywords might cause generated interfaces that don't compile. You may use the `@cds.java.name` annotation to mitigate such conflicts. | |
| > CAP Java generates [accessor interfaces](../../java/cds-data#generated-accessor-interfaces) for CDS entities, using Java keywords as identifiers in a CDS model may result in generated interfaces that fail to compile. Use the `@cds.java.name` annotation to mitigate such conflicts, if you can't change the identifier names. |
| # CAP-level Database Integration | ||
|
|
||
| CAP application developers [focus on their domain](../../get-started/features#focus-on-domain), while CAP takes care of all aspects of database integration. This includes translating CDS models to native persistence models, schema evolution, deployment, as well as runtime querying – all of that in a database-agnostic way. [SQLite](./sqlite) <sup>1</sup> in-memory databases are automatically used in inner-loop development, while in production, [SAP HANA](./hana) <sup>2</sup> is used by default. | ||
| CAP application developers [focus on their domain](../../get-started/features#focus-on-domain), while CAP takes care of all aspects of database integration. This includes translating CDS models to native persistence models, schema evolution, deployment, as well as runtime querying – all of that in a database-agnostic way. An in-memory database<sup>1</sup> is automatically used in inner-loop development, while in production, [SAP HANA](./hana) <sup>2</sup> is used by default. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| CAP application developers [focus on their domain](../../get-started/features#focus-on-domain), while CAP takes care of all aspects of database integration. This includes translating CDS models to native persistence models, schema evolution, deployment, as well as runtime querying – all of that in a database-agnostic way. An in-memory database<sup>1</sup> is automatically used in inner-loop development, while in production, [SAP HANA](./hana) <sup>2</sup> is used by default. | |
| CAP application developers [focus on their domain](../../get-started/features#focus-on-domain), while CAP takes care of all aspects of database integration. This includes translating CDS models to native persistence models, schema evolution, deployment, as well as runtime querying – all of that in a database-agnostic way. A lightweight in-memory database<sup>1</sup> is automatically used in inner-loop development, while in production, [SAP HANA](./hana) <sup>2</sup> is used by default. |
No description provided.