From e57fa7f6f9d536f9864d00f570ebfe4f349ceb46 Mon Sep 17 00:00:00 2001 From: qinkangdeid Date: Fri, 26 Apr 2024 18:57:33 +0800 Subject: [PATCH] docs(feature/doc-update): errata document. --- docs/mapping/advanced/logical-deleted/entity.mdx | 4 ++-- docs/query/paging/usage.mdx | 6 +++--- docs/showcase/other-query.mdx | 2 +- .../current/mapping/advanced/embedded.mdx | 2 +- .../current/mapping/advanced/logical-deleted/entity.mdx | 8 ++++---- .../mapping/advanced/logical-deleted/join-table.mdx | 2 +- .../current/mapping/advanced/mapped-super-class.mdx | 5 +++-- .../current/mapping/base/association/many-to-many.mdx | 2 +- .../current/mapping/base/association/many-to-one.mdx | 3 +-- .../current/mapping/base/association/one-to-one.mdx | 6 ++++-- .../current/mapping/base/foreignkey.mdx | 4 ++-- .../current/mapping/base/index.md | 2 +- .../current/mapping/base/naming-strategy.mdx | 8 ++++---- .../current/mapping/base/nullity.mdx | 6 +++--- .../current/mapping/index.md | 2 +- .../mutation/save-command/associated-save-mode.mdx | 2 +- .../current/query/paging/usage.mdx | 6 +++--- .../current/quick-view/fetch/export/dto.mdx | 4 ++-- .../current/quick-view/get-started/create-database.mdx | 2 +- .../current/showcase/comprehensive-query.mdx | 2 +- .../current/showcase/other-query.mdx | 2 +- .../current/showcase/where/dynamic-where.mdx | 2 +- 22 files changed, 42 insertions(+), 40 deletions(-) diff --git a/docs/mapping/advanced/logical-deleted/entity.mdx b/docs/mapping/advanced/logical-deleted/entity.mdx index dd9000b95..014ae09d2 100644 --- a/docs/mapping/advanced/logical-deleted/entity.mdx +++ b/docs/mapping/advanced/logical-deleted/entity.mdx @@ -376,7 +376,7 @@ public interface Book { @Key int edition(); - // hightlight-next-line + // highlight-next-line @LogicalDeleted long deletedMillis(); @@ -404,7 +404,7 @@ interface Book { @Key val edition: String - // hightlight-next-line + // highlight-next-line @LogicalDeleted val deletedMillis: Long diff --git a/docs/query/paging/usage.mdx b/docs/query/paging/usage.mdx index 693f9def9..29cba0f1e 100644 --- a/docs/query/paging/usage.mdx +++ b/docs/query/paging/usage.mdx @@ -718,7 +718,7 @@ Finally, in the obtained pagination, each object conforms to the data structure ```json { - // hightlight-next-line + // highlight-next-line "content":[ // Current page { "id":12, @@ -828,9 +828,9 @@ Finally, in the obtained pagination, each object conforms to the data structure ] } ], - // hightlight-next-line + // highlight-next-line "totalPages":3, // Total page count is 3 - // hightlight-next-line + // highlight-next-line "totalElements":12, // Total row count before pagination is 12 ...Spring Data's Page object has too many properties, ommitted... diff --git a/docs/showcase/other-query.mdx b/docs/showcase/other-query.mdx index 47471ebe1..8aac3804d 100644 --- a/docs/showcase/other-query.mdx +++ b/docs/showcase/other-query.mdx @@ -61,7 +61,7 @@ val newestBooks = sqlClient ## Native SQL -为了支持特有数据库产品特有的能力,Jimmer的SQL DSL支持潜入Native SQL表达式。以正则表达式查询为例。 +为了支持特有数据库产品特有的能力,Jimmer的SQL DSL支持嵌入Native SQL表达式。以正则表达式查询为例。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/embedded.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/embedded.mdx index 09a8596ba..e0cda712d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/embedded.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/embedded.mdx @@ -6,7 +6,7 @@ title: 复合字段 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -复合字段将来数据库的多个列合并为一个整体,将其映射为一个非实体的自定义类型,然后利用此自定义属性为实体声明一个属性。 +复合字段是将数据库的多个列合并为一个整体,将其映射为一个非实体的自定义类型,然后利用此自定义属性为实体声明一个属性。 ## 作为普通字段 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/entity.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/entity.mdx index 1ad2c681f..84e5e447f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/entity.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/entity.mdx @@ -6,7 +6,7 @@ title: 实体表 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -想让实体支持逻辑删除,需要添加一个被`org.babyfish.jimmer.sql.LogicalDeleted`的标志属性,以表示该数据是正常的还是已经被删除。 +想让实体支持逻辑删除,需要添加一个被`org.babyfish.jimmer.sql.LogicalDeleted`标记的标志属性,以表示该数据是正常的还是已经被删除。 一旦为实体配置了逻辑删除属性 @@ -376,7 +376,7 @@ public interface Book { @Key int edition(); - // hightlight-next-line + // highlight-next-line @LogicalDeleted long deletedMillis(); @@ -404,7 +404,7 @@ interface Book { @Key val edition: String - // hightlight-next-line + // highlight-next-line @LogicalDeleted val deletedMillis: Long @@ -446,7 +446,7 @@ alter table BOOK ## 对中间表的影响 -如果实体被逻辑删除,那么和他相关的基于中间表 *(采用`@JoinTable`的注解)* 的关联会收到何种影响呢? +如果实体被逻辑删除,那么和它相关的基于中间表 *(采用`@JoinTable`的注解)* 的关联会受到何种影响呢? - 如果中间表也支持逻辑删除,即`@JoinTable`注解的`logicalDeletedFilter`参数被指定,与被逻辑删除实体相关的中间表记录也会被逻辑删除。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/join-table.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/join-table.mdx index d66037695..0d72a0f5e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/join-table.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/logical-deleted/join-table.mdx @@ -8,7 +8,7 @@ import TabItem from '@theme/TabItem'; 想让中间表支持逻辑删除,需要为注解`org.babyfish.jimmer.sql.JoinTable`指定属性,以表示该数据是正常的还是已经被删除。 -- 一旦为中间表配置了逻辑删除属性,当任何一端的实体被逻辑删除是,所有相关的中间表记录将会被逻辑删除。 +- 一旦为中间表配置了逻辑删除属性,当任何一端的实体被逻辑删除时,所有相关的中间表记录将会被逻辑删除。 - 所有针对当前关联的JOIN操作都会被自动加上` and 软删除标志 <> 已经被删除`的条件,从而营造出某些关联已经被删除的假象。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/mapped-super-class.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/mapped-super-class.mdx index 8e26854fe..3a8b93fa5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/mapped-super-class.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/advanced/mapped-super-class.mdx @@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem'; `org.babyfish.jimmer.sql.MappedSuperclass`用于提供可供实体继承的抽象超类型。 -该超类型不并是实体,但可以被多个实体类型继承,从而避免多个实体重复声明相同的属性。 +该超类型并不是实体,但可以被多个实体类型继承,从而避免多个实体重复声明相同的属性。 让我们来看一个例子,先定义超类型 @@ -170,6 +170,7 @@ public interface TenantAware { ```kotlin title="TenantAware.kt" // highlight-next-line +@MappedSuperclass interface TenantAware { val tenant: String @@ -209,7 +210,7 @@ interface Book : BaseEntity, TenantAware { 修改`Book`,让它不光继承`BaseEntty`,还继承`TenantAware` :::tip -`@MapperSuperclass`的作用不仅仅是减少重复代码,还可以其他另外两个功能配合使用 +`@MapperSuperclass`的作用不仅仅是减少重复代码,还可以和其他另外两个功能配合使用 - [全局过滤器](../../query/global-filter) - [拦截器](../../mutation/draft-interceptor) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-many.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-many.mdx index ac8f5847a..58301e08b 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-many.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-many.mdx @@ -6,7 +6,7 @@ title: 多对多 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -本通过介绍如何使用`@org.babyfish.jimmer.sql.ManyToMany`注解可以声明多对多关联属性 +本文通过介绍如何使用`@org.babyfish.jimmer.sql.ManyToMany`注解可以声明多对多关联属性 多对多可支持双向关联,对于双向关联而言,其中一方必须主动方,另外一方为从动方。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-one.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-one.mdx index d735a6c67..00628742a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-one.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/many-to-one.mdx @@ -6,7 +6,7 @@ title: 多对一 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -本通过介绍如何使用`@org.babyfish.jimmer.sql.ManyToOne`注解可以声明多对一关联属性 +本文通过介绍如何使用`@org.babyfish.jimmer.sql.ManyToOne`注解可以声明多对一关联属性 有两种方法可以实现多对一关联,基于外键和基于中间表。 @@ -120,7 +120,6 @@ public interface Book { @Entity interface Book { - @Nullable @ManyToOne @JoinTable val store: BookStore? diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/one-to-one.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/one-to-one.mdx index 958a1d1ca..4f882c311 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/one-to-one.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/association/one-to-one.mdx @@ -6,7 +6,7 @@ title: 一对一 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -本通过介绍如何使用`@org.babyfish.jimmer.sql.OneToOne`注解可以声明一对一关联属性 +本文通过介绍如何使用`@org.babyfish.jimmer.sql.OneToOne`注解可以声明一对一关联属性 一对一可支持双向关联,对于双向关联而言,其中一方必须主动方,另外一方为从动方。 @@ -237,12 +237,14 @@ alter table CUSTOMER_ADDRESS_MAPPING // 这两个约束非常重要。 // 否则这张中间表表达的是多对多关联,而非一对一关联 +// 为中间表 CUSTOMER_ID 字段设置唯一约束 alter table CUSTOMER_ADDRESS_MAPPING add constraint UQ_CUSTOMER_ADDRESS_MAPPING__CUSTOMER_ID unique(CUSTOMER_ID); +// 为中间表 ADDRESS_ID 字段设置唯一约束 alter table CUSTOMER_ADDRESS_MAPPING add constraint UQ_CUSTOMER_ADDRESS_MAPPING__ADDRESS_ID - unique(CUSTOMER_ID); + unique(ADDRESS_ID); ``` - 中间表的只有两个外键,而且都非null。中间表靠插入数据和删除数据维护关联,本身从不存储null数据 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/foreignkey.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/foreignkey.mdx index 47f8c9324..6aaf8ecdc 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/foreignkey.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/foreignkey.mdx @@ -21,7 +21,7 @@ Jimmer中外键有两种 :::info 在保存数据时 -- 真外键靠关系性数据库本身的能力保证引用完整性 +- 真外键靠关系型数据库本身的能力保证引用完整性 - 伪外键靠ORM在上层代码中植入额外检查来保证引用完整性 @@ -127,7 +127,7 @@ Jimmer中外键有两种 ::: :::caution -如果数据方言不支持外键, *(比如:`org.babyfish.jimmer.sql.dialect.TiDBDialect`)*,则不能明确指定真外键。 +如果数据库方言不支持外键, *(比如:`org.babyfish.jimmer.sql.dialect.TiDBDialect`)*,则不能明确指定真外键。 因为,作为一个分布式关系型数据库,TiDB不支持外键约束。 ::: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/index.md b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/index.md index 341c0fd63..f8b453209 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/index.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/index.md @@ -3,4 +3,4 @@ sidebar_position: 1 title: 基础映射 --- -在这一系列文章中,我们会介绍基本映射,包括可空性、真假外间、实体、id和关联关系。 \ No newline at end of file +在这一系列文章中,我们会介绍基本映射,包括可空性、真假外键、实体、id和关联关系。 \ No newline at end of file diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/naming-strategy.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/naming-strategy.mdx index 1f391418f..d58f70bb2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/naming-strategy.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/naming-strategy.mdx @@ -20,7 +20,7 @@ import TabItem from '@theme/TabItem'; - 可以使用`@JoinTable(name = "...")`明确地为基于中间表的关联属性指定中间表表名以及其所有列名。 -然而,为了提高开发效率,我们不可能到过多地使用这些注解。大部分情况下,默认的名字推导行为应该可以工作,少数情况下,才在代码中使用这些注解。 +然而,为了提高开发效率,我们不可能过多地使用这些注解。大部分情况下,默认的名字推导行为应该可以工作,少数情况下,才在代码中使用这些注解。 对于某个类或属性,如果用户**不**用这类注解,如何自动决定数据库中的标识名,被称为命名策略,是一个可定制的Java接口 @@ -84,7 +84,7 @@ DefaultDatabaseNamingStrategy类有两个静态字段 生成的数据库标识名全部小写。 - 一些数据库,比如MySQL,可以配置是否大小写敏感。所以,你很有可能接手一个MySQL数据库,被设置为大小敏感模式且大部分表名和列名都是小写的,这是,你需要用此策略覆盖默认策略。 + 一些数据库,比如MySQL,可以配置是否大小写敏感。所以,你很有可能接手一个MySQL数据库,被设置为大小敏感模式且大部分表名和列名都是小写的,这时,你需要用此策略覆盖默认策略。 :::tip 即使`UPPER_CASE`和`LOWER_CASE`都无法满足你的要求,你需要实现自己的策略,也可以考虑继承这个默认策略,而非从头实现。 @@ -92,7 +92,7 @@ DefaultDatabaseNamingStrategy类有两个静态字段 在介绍默认策略的行为之前,我们先引入一个字符变换规则:snake。 -所谓snake,即使把大小写交替的文本转化为下划线拼接的文本,比如类名`BookStore`的snake变形为`BOOK_STORE`,属性名`firstName`的snake变形为`FIRST_NAME`。 +所谓snake,即把大小写交替的文本转化为下划线拼接的文本,比如类名`BookStore`的snake变形为`BOOK_STORE`,属性名`firstName`的snake变形为`FIRST_NAME`。 考虑到大小写问题,我们定义两个函数, `u_snake`和`l_snake`,其行为如下 @@ -197,7 +197,7 @@ DefaultDatabaseNamingStrategy类有两个静态字段 ## 覆盖策略 -现在,我们来掩饰如何用`DefaultDatabaseNamingStrategy.LOWER_CASE`覆盖默认的`DefaultDatabaseNamingStrategy.UPPER_CASE`。 +现在,我们来演示如何用`DefaultDatabaseNamingStrategy.LOWER_CASE`覆盖默认的`DefaultDatabaseNamingStrategy.UPPER_CASE`。 ### 使用SpringBoot时 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/nullity.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/nullity.mdx index d1f566080..2533d73cd 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/nullity.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/base/nullity.mdx @@ -3,10 +3,10 @@ sidebar_position: 1 title: 可空性 --- -实体对象属性是否许为null这个问题,Jimmer用非常严格的方式处理。即便对Java开发者而言,也要求如同kotlin开发者一样认知考虑思考每个属性是否允许为null。 +实体对象属性是否允许为null这个问题,Jimmer用非常严格的方式处理。即便对Java开发者而言,也要求如同kotlin开发者一样认知考虑思考每个属性是否允许为null。 :::caution -明确说明实体对象的每个属性是否允许为null,对Jimmer而言非常重要,很多功能都会其影响。 +明确说明实体对象的每个属性是否允许为null,对Jimmer而言非常重要,很多功能都会受其影响。 ::: ## 定义属性的可空性 @@ -50,7 +50,7 @@ Java下属性是否为null,靠以下规则制定 - JPA/Hibernate推荐将id属性声明为可空类型,比如,对Java而言,就是`Long`而非`long`,这样,保存数据时可表达没有id而需要自动分配的情况。 - - Jimmer必须将id属性声明为非空了类型,比如,对Java而言,就是`long`而非`Long`。Jimmer靠实体对象本身的动态性来表达id属性的缺失。 + - Jimmer必须将id属性声明为非空类型,比如,对Java而言,就是`long`而非`Long`。Jimmer靠实体对象本身的动态性来表达id属性的缺失。 - 一对多和多对多属性必须非null diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/index.md b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/index.md index 3133e78a9..7f6ff184d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mapping/index.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mapping/index.md @@ -3,7 +3,7 @@ sidebar_position: 4 title: 映射篇 --- -在这个章节中,我们会介绍如何映射关系性数据库和实体模型。 +在这个章节中,我们会介绍如何映射关系型数据库和实体模型。 - 对于有ORM经验 *(尤其是JPA经验)* 的读者,可以快速阅读。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/mutation/save-command/associated-save-mode.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/mutation/save-command/associated-save-mode.mdx index 2d4124c82..f54297757 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/mutation/save-command/associated-save-mode.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/mutation/save-command/associated-save-mode.mdx @@ -481,7 +481,7 @@ sqlClient.save(store) { where STORE_ID = ? /* 2 */ and - // hightlight-next-line + // highlight-next-line ID not in ( // Be careful, this is `not in` ? /* 10 */, ? /* 100 */ ) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/query/paging/usage.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/query/paging/usage.mdx index 889ca4597..5f8baf557 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/query/paging/usage.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/query/paging/usage.mdx @@ -715,7 +715,7 @@ val page = bookRepository.findBooks( ```json { - // hightlight-next-line + // highlight-next-line "content":[ // 当前页 { "id":12, @@ -825,9 +825,9 @@ val page = bookRepository.findBooks( ] } ], - // hightlight-next-line + // highlight-next-line "totalPages":3, // 共3页 - // hightlight-next-line + // highlight-next-line "totalElements":12, // 分页前共12条数据 ...Spring Data的Page对象属性太多,忽略... diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/fetch/export/dto.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/fetch/export/dto.mdx index 9192b51e9..0e7785e2c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/fetch/export/dto.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/fetch/export/dto.mdx @@ -623,7 +623,7 @@ class BookRepository( ## 编写BookController -虽然DTO语言更适合于Java/Kotlin应用内部自己使用查询结果,但你也可以用它们作为HTTP API的返回信息,和实用普通的POJO没有任何区别。 +虽然DTO语言更适合于Java/Kotlin应用内部自己使用查询结果,但你也可以用它们作为HTTP API的返回信息,和使用普通的POJO没有任何区别。 @@ -902,7 +902,7 @@ data class ShallowBookView( ## Flat关联对象 -很大一部分服务端开发团队,会接触到一种前端开开发团队,他们不接受由关联连接多个对象而成的数据结构,只愿意接受一个庞大的孤单对象。因此他们要求讲所有非集合关联都平坦化。即 +很大一部分服务端开发团队,会接触到一种前端开发团队,他们不接受由关联连接多个对象而成的数据结构,只愿意接受一个庞大的孤单对象。因此他们要求讲所有非集合关联都平坦化。即 - 他们不接受结构化的返回信息 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/get-started/create-database.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/get-started/create-database.mdx index 477a9c100..e761f79c4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/get-started/create-database.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/quick-view/get-started/create-database.mdx @@ -209,7 +209,7 @@ insert into tree_node( - 中间关联表: `book_author_mapping`为中间关联表,简称中间表,表示Book和Author之间的多对多关联。 - - 中间表在UML图中没有对实体,因为它仅是关系性数据库表示多对多关联的技术手段。 + - 中间表在UML图中没有对实体,因为它仅是关系型数据库表示多对多关联的技术手段。 - 中间表只应该有两个外键字段,指向关联两端的实体。 - 中间表不具备独立id,两个外键联合起来形成主键。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/showcase/comprehensive-query.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/showcase/comprehensive-query.mdx index b9f1f0068..ee92b200a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/showcase/comprehensive-query.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/showcase/comprehensive-query.mdx @@ -6,7 +6,7 @@ title: 7. 综合查询 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -截止到目前为止,我们快熟展示了如下功能 +截止到目前为止,我们快速展示了如下功能 - 对象抓取器,也就是查询任意形状的数据结构,也就是[抓取关联](./fetch-association)和[递归查询](./recursive-query)中所展示的内容。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/showcase/other-query.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/showcase/other-query.mdx index 9c9e006ea..1fe24e148 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/showcase/other-query.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/showcase/other-query.mdx @@ -61,7 +61,7 @@ val newestBooks = sqlClient ## Native SQL -为了支持特有数据库产品特有的能力,Jimmer的SQL DSL支持潜入Native SQL表达式。以正则表达式查询为例。 +为了支持特有数据库产品特有的能力,Jimmer的SQL DSL支持嵌入Native SQL表达式。以正则表达式查询为例。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/showcase/where/dynamic-where.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/showcase/where/dynamic-where.mdx index 2077165e1..de5969f81 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/showcase/where/dynamic-where.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/showcase/where/dynamic-where.mdx @@ -60,7 +60,7 @@ val books = sqlClient :::caution Java代码中,第一个whereIf采用Lambda传入表达式。 -这是是因为除了`eq`和`ne`能接受null值*(翻译为`is null`和`is not null`)*外, +这是因为除了`eq`和`ne`能接受null值*(翻译为`is null`和`is not null`)*外, 其他条件*(比如,这里的`ilike`)*不接受null并视之为开发人员犯下的BUG。 :::