问题标签 [orm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
6336 浏览

database - 函数到关系映射比对象到关系更容易吗?

对象关系映射已得到很好的讨论,包括在这里。我有一些方法以及陷阱和妥协的经验。真正的解决似乎需要对 OO 或关系模型本身进行更改。

如果使用函数式语言,是否会出现同样的问题?在我看来,这两种范式应该比 OO 和 RDBMS 更好地结合在一起。在 RDBMS 中以集合方式思考的想法似乎与函数式方法所承诺的自动并行性相吻合。

有没有人有任何有趣的意见或见解?行业现状如何?

0 投票
3 回答
1453 浏览

nhibernate - 在 NHibernate 中将多个值映射到值对象

我对 NHibernate 还很陌生,虽然我在网上找到了大量关于 NHibernate 映射的信息,但我太傻了,找不到这条信息。

所以问题是,我有以下模型:

数据模型

这就是我希望它看起来的样子。一个有两个地址属性的干净的人。

在数据库中,我想将其保存在一个表中。所以 Person 行会有一个 ShippingStreetname 和一个 Streetname 列,一个映射到 ShippingAddress.Streetname,另一个映射到 Address.StreetName

我找到了一篇关于 fluent interfaces的文章,但还没有弄清楚如何通过 XML 配置来做到这一点。

提前致谢!

更新:我自己找到了解决方案。这可以通过节点来完成,而且工作相当简单。

为了实现 Address 和 ShippingAddress 的映射,我只需将以下内容添加到

0 投票
4 回答
17521 浏览

c# - SQL 数据库表中的 C# 类

遇到了这个:

http://www.eggheadcafe.com/articles/adonet_source_code_generator.asp

并且想知道这是否是正确的解决方案,因为我不太喜欢为每个存储过程创建一个类,或者我是否使用 Enterprise Library for ASP.net 2.0 项目。

0 投票
13 回答
22832 浏览

php - PHP 最容易使用的 ORM 框架是什么?

我正在寻找 Ruby 的 PHP 活动记录。很简单,我只需要定义我的字段,扩展基本的 ORM 类,就可以免费获得 ACID 操作。我应该在不编写任何代码的情况下获得默认的 getter 和 setter,但是覆盖默认的 getter 或 setter 就像用我想要的行为声明 get$fieldName 或 set$fieldName 函数一样简单。Symphony 让您为每个对象创建大约 5 个文件,并且据我所知,所有已定义的对象总是加载。什么是更好的选择?为什么更好?你能在你的答案中放一些简单的例子吗?

Doctrine 是我看过的另一个 ORM 除了 symphony 。您还需要创建描述数据结构的 yaml 文件。数据库已经定义了这些东西。什么会读取我的表定义而不必在任何地方生成和存储配置文件?

0 投票
3 回答
152 浏览

sql - 查询以获取对象图的所有修订

我正在数据库上实现审核日志,因此所有内容都有 CreatedAt 和 RemovedAt 列。现在我希望能够列出对象图的所有修订,但我能想到的最好方法是使用联合。我需要获取每个唯一的 CreatedAt 和 RemovedAt id。

如果我得到一个有省份的国家列表,工会看起来像这样:

对于更复杂的查询,这可能会变得非常复杂并且可能表现得很差,所以我想看看是否有人能想到更好的方法。这是在 MSSQL 服务器中。

我需要将它们全部放在一个列表中,因为这是在 from 子句中使用的,而真实数据来自加入此列表。

0 投票
4 回答
1432 浏览

php - 是否可以在不使用整个框架的情况下在 PHP 中为 ORM 安装 Kohana 库?

在上一个问题中,我询问了各种 ORM 库。事实证明,对于 ORM 而言,Kohana 看起来非常干净但功能强大。不过,我已经有一个正在使用的 MVC 框架。如果我不想将它作为框架运行,那么包含什么正确的文件集来只给我 DB 和 ORM 基类文件?

更新:

我跳进去开始查看 ORM 源​​代码。有一件事让我立即感到困惑。所有的 ORM 类的类名都附加了 _CORE,即 ORM_Core ORM_Iterator_Core,但到处的代码都在扩展 ORM 类。问题是,我已经以 6 种不同的方式搜索了整个代码库,但我从未见过普通的 ORM 类 def 或 ORM 接口 def 或任何东西。有人能告诉我魔法发生在哪里吗?

0 投票
2 回答
9214 浏览

java - 创建自定义 Hibernate UserType - isMutable() 是什么意思?

我正在为一个项目在 Hibernate 中创建一个自定义 UserType。在我使用 isMutable 方法之前,它一直相对简单。我试图弄清楚这种方法在合同方面意味着什么。

这是否意味着我正在为其创建 UserType 的类是不可变的,还是意味着持有对此类实例的引用的对象永远不会指向不同的实例?

我在Hibernate Community Wiki中找到了一些返回 true 的示例,因为对象本身是可变的 - http://www.hibernate.org/73.html

社区 wiki 中的其他示例返回 false 并没有说明原因,即使它们也是可变的。

我检查了JavaDoc,但也不是很清楚。

来自UserType的 JavaDoc :

来自 JavaDoc 的Type

0 投票
1 回答
305 浏览

asp.net-mvc - 使用 Linq 将相关表中的数据复制并插入到一组新的相关表中的最佳方法是什么

我从事网页游戏,我使用 asp.net mvc,linqtosql。

我有 3 个存储默认游戏值的表:DefaultRegions、DefaultSubRegions 和 DefaultCountries。由于主键/外键,这 3 个表相互关联。

当有人创建新游戏时,我需要将这些表的值复制到 3 个名为 Regions、SubRegions 和 Country 的表中。在这 3 个表中,保存了正在进行的游戏的值(添加了 GameId 以区分游戏)。

现在,我需要更新关系,因为主键显然发生了变化。

任何人都知道以有效方式实现这一目标的方法吗?

我的想法会涉及繁琐的 foreach 循环,也许其他人有想法?

编辑看起来我最初的想法是最好的方法,谢谢

0 投票
1 回答
223 浏览

.net - 在设计、实施和维护 CRUD 上所付出的努力

您在数据访问层中实现和维护简单的创建、读取、更新和删除 (CRUD) 方法上花费了多少百分比的开发工作?

迁移到像 Hibernate 或 Entity Framework 这样的 ORM 会带来显着的节省吗?当您的数据访问层迁移到 ORM 是一个不错的选择时,是否有任何设计异味让您知道?

亲切的问候,阿希什

0 投票
5 回答
11367 浏览

php - Symfony 应用程序 - 如何将计算字段添加到 Propel 对象?

使用 Propel 对象的计算字段的最佳方法是什么?

假设我有一个对象“客户”,它有一个对应的表“客户”,每一列对应于我的对象的一个​​属性。我想做的是:在我的对象上添加一个计算属性“已完成订单数”,而不是在视图 B 和 C 上使用它。

计算的属性是通过 ID 链接到我的“客户”对象的“订单”对象的 COUNT()。

我现在可以做的是首先选择所有客户对象,然后迭代地计算所有这些对象的订单,但我认为在单个查询中这样做会提高性能。但我无法正确“水合”我的 Propel 对象,因为它不包含计算字段的定义。

你会如何处理它?