Explore Evaluation Guide

Data Storage

如何在 西门子低代码 中定义数据?

在 西门子低代码 中,您可以使用域模型定义数据需求。应用程序项目中的每个模块都可以拥有自己的域模型,该域模型由一个或多个实体组成。这些实体可以是持久的,也可以是非持久的,还包含了一个或多个对象。

持久对象存储在数据库中,西门子低代码 会自动创建表,将实体存储在数据库中。会针对每个对象在表中插入一条记录。非持久实体仅在用户会话期间存于内存中。

可以针对每个实体定义属性以及属性应包含的数据类型。还可以定义安全规则、可看特定数据的对象以及验证规则。验证规则指定属性允许哪些值。

当您启动或重新部署应用程序时,西门子低代码 会自动创建数据库表来存储您的数据。重新部署后,所有应用程序表均会根据需要自动更改,并将数据迁移到新的表结构中。

持久和非持久对象间有什么区别?

持久对象存储在数据库中,因此可以跨会话和跨用户使用数据。但,由于非持久实体仅在用户会话期间存于内存中,不能跨用户或跨用户会话共享。

非持久性实体主要用于不希望存储所有中间结果的计算,或者用于临时存储通过不同集成方式从外部系统获取的数据。

对象关系映射如何在 西门子低代码 中发挥作用?

西门子低代码 对象关系映射 (ORM) 处理数据库管理的所有事项,从建模数据需求到最流行的关系数据库系统的技术存储和检索。西门子低代码 ORM 的主要目标是让用户不再需要思考数据库技术方面问题,如如何创建和修改表或访问和更新数据。

如何使用索引来提高性能?

索引是在实体的基础数据库表上为其创建数据库索引的属性列表。在搜索字段、数据或模板网格的 XPath 约束或 XPath 查询中使用索引属性,可提高检索对象的速度。

使用 西门子低代码 Studio 和 西门子低代码 Studio Pro 中的实体属性菜单添加索引。可以将多个索引添加到一个实体。

如何在 西门子低代码 中使用存储过程?

西门子低代码 存储过程的使用取决于数据所在的位置。

如果想在 西门子低代码 应用程序的数据库中使用存储过程,则可以使用 西门子低代码 Java API。有关更多信息,请参见 西门子低代码 Studio Pro 操作方法中的如何使用 Java API。有关使用 JDBC 在 西门子低代码 应用程序数据库上执行 SQL 语句的更多信息,请参见 D数据存储与连接执行

如果您使用的是外部数据库,则可以使用 西门子低代码 市场中提供的数据库连接器附加组件。

如果要在现有的旧数据库上构建,则调用存储过程至关重要。在这一领域,有很多 Oracle 关系数据库管理系统 (RDBMSs)。西门子低代码 Marketplace 中提供的 Oracle Connector (Beta) 支持旧 Oracle 数据库中的常见功能,例如,使用 PL/SQL 存储过程和程序包构建的 table API,引用游标和用户定义类型。

西门子低代码 如何处理事务管理?

对 西门子低代码 Runtime 的每个请求都会使一个新事务自动启动。成功完成请求后,事务将与所有相关数据一起提交。如果发生错误,则会默认回滚所有数据更改。您可以选择提供自定义错误处理逻辑来更改此默认行为。

在下面微流中,定义了一个自定义错误处理程序。当更改活动失败的时候,对数据库所做的任何更改都会回滚。错误处理程序定义了要对事务执行的操作:可以回滚微流中发生的所有事情,或者可以补偿问题并继续。在本例中,生成了一条日志消息,之后微流以错误提示结束。然后,调用微流可以决定如何处理这个问题。

西门子低代码 支持什么数据库?

西门子低代码 应用程序默认可以部署到许多不同的数据库服务器中。只要未使用任何特定于数据库的代码,就可以随时切换数据库供应商。

西门子低代码 平台支持系统要求数据库中列出的由 西门子低代码 Runtime 管理数据的数据库服务器。