Data Storage

持久对象存储在数据库中,西门子低代码 会自动创建表,将实体存储在数据库中。会针对每个对象在表中插入一条记录。非持久实体仅在用户会话期间存于内存中。
可以针对每个实体定义属性以及属性应包含的数据类型。还可以定义安全规则、可看特定数据的对象以及验证规则。验证规则指定属性允许哪些值。
当您启动或重新部署应用程序时,西门子低代码 会自动创建数据库表来存储您的数据。重新部署后,所有应用程序表均会根据需要自动更改,并将数据迁移到新的表结构中。
-
数据定义语言
西门子低代码 ORM 部署应用程序时从数据定义语言 (DDL) 阶段开始,当您在域模型中对它们进行建模时,它将根据您的业务数据需求自动创建正确的数据库结构。
创建的数据库结构将包括表、数据类型、关联、相关约束甚至继承。
重要的是要注意,每当您对应用程序进行更改时,基础数据库表都会相应地自动更新。您的数据也将被迁移。
西门子低代码平台通过处理表创建和数据迁移可帮助您快速交付应用程序。您不必自己管理数据库架构。同样重要的是,对于大多数迁移(例如,属性重命名或类型更改),西门子低代码 还会自动执行数据迁移。
在私有云环境中或在内部部署时,您确实有权选择自己管理数据库。在这种情况下,您可以将 西门子低代码 生成的 SQL 作为起点,然后将其交给数据库管理员,这样他们就可以确保根据需要创建数据库。
数据迁移阶段还可以将数据跨数据库供应商从一个 西门子低代码 应用程序迁移到另一个中。如果想要从本地迁移到云或从一个云迁移到另一个云中,这很有用。有关更多信息,请参见 西门子低代码 Studio Pro 操作方法中的如何迁移您的 西门子低代码 数据库。
-
数据检索
西门子低代码 提供多种方法指定要检索的数据:
-
- 西门子低代码 Studio Pro 和 西门子低代码 Studio 都提供了指定查询需求的可视化方法
检索特定对象或一组相关对象,可以使用 XPath 表达式
- 对于需要将多个实体聚合和合并为单个结果集重要的报表需求,西门子低代码 支持 OQL 查询
在这种情况下,所有检索首先被转换成 XPath,然后被转换成 OQL,最后被转换成特定于数据库的 SQL 语句。
检索数据时,西门子低代码 ORM 为您执行以下步骤:
- 将 XPath 查询转换为 OQL 查询。
- 包括其他检索要求(例如,页面也需要的相关对象)。
- 应用在您的实体上定义的安全规则。
- 将您的实体映射到技术数据库表。
- 将您的实体属性映射到表列。
- 优化所需的 OQL 语句。
- 将 OQL 语句转换为特定于数据库的 SQL 语句。
- 从数据库中检索记录。
如您所见,西门子低代码 ORM 进行了许多性能优化,这些优化并非微不足道。由于应用程序模型的存在,西门子低代码 平台一次查询关联的数据库记录的效率更高。
-
如何在 西门子低代码 中使用存储过程?
西门子低代码 存储过程的使用取决于数据所在的位置。
如果想在 西门子低代码 应用程序的数据库中使用存储过程,则可以使用 西门子低代码 Java API。有关更多信息,请参见 西门子低代码 Studio Pro 操作方法中的如何使用 Java API。有关使用 JDBC 在 西门子低代码 应用程序数据库上执行 SQL 语句的更多信息,请参见 D数据存储与连接执行。
如果您使用的是外部数据库,则可以使用 西门子低代码 市场中提供的数据库连接器附加组件。
如果要在现有的旧数据库上构建,则调用存储过程至关重要。在这一领域,有很多 Oracle 关系数据库管理系统 (RDBMSs)。西门子低代码 Marketplace 中提供的 Oracle Connector (Beta) 支持旧 Oracle 数据库中的常见功能,例如,使用 PL/SQL 存储过程和程序包构建的 table API,引用游标和用户定义类型。

西门子低代码 支持什么数据库?
西门子低代码 应用程序默认可以部署到许多不同的数据库服务器中。只要未使用任何特定于数据库的代码,就可以随时切换数据库供应商。
西门子低代码 平台支持系统要求数据库中列出的由 西门子低代码 Runtime 管理数据的数据库服务器。