是否可以向 SORM 添加瞬态字段?

Posted

技术标签:

【中文标题】是否可以向 SORM 添加瞬态字段?【英文标题】:Is it possible to add a transient field to SORM? 【发布时间】:2013-08-13 14:49:20 【问题描述】:

我想知道是否有可能在 SORM 未映射的类中有一个字段。我尝试添加 @Transient 注释,但 ist 被忽略了。

我这部分 SORM 的范式要不要这样做?

【问题讨论】:

【参考方案1】:

这是不可能的。但是,由于我看不到任何人可以从这样的功能中受益,我怀疑您遗漏了一些关于 SORM 中使用的概念的基本信息,例如仅在不可变数据结构上操作、空值的惯用“缺失”和类似的东西那个。

【讨论】:

感谢您的回答!我正在考虑使用 SORM 来初始化一个对象,该对象保持运行时状态,该状态永远不会在数据库中更新 - 可能在变量中,甚至不是由 SORM 管理的。因此,对象将是有状态的,但我不需要 SORM 来管理它。也许那是一个荒谬的想法,我应该使用其他东西? SORM 会关心我的改变吗?还是我应该使用 SORM 对象来初始化混入 SORM 对象中的对象或将其保留为参考? SORM 仅在不可变数据结构上运行。不可变结构本身没有状态,因为它们不会发生变异。这是函数式编程的基石,函数式编程原则是 SORM 的基石。 SORM 不管理任何对象——它只是将它们用作与 DB 通信的语言。您想更新 DB 中的值 - 创建您从 SORM 获得的值的副本,并进行适当的更改并 db.save 它。您想使用数据库中的值填充一些可变对象 - 只需从数据库中获取不可变值并使用其中的数据填充您的可变对象。

以上是关于是否可以向 SORM 添加瞬态字段?的主要内容,如果未能解决你的问题,请参考以下文章

如果使用 sorm,如何处理架构更改

何时向托管对象添加类别以及何时使用瞬态属性?

SORM 和 trait 作为字段类型

使用 sorm 框架仅获取一个字段

如何在 SORM 中添加 Scala 枚举?

是否可以向 Laravel 模型添加非持久属性?