问题标签 [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 投票
6 回答
4801 浏览

language-agnostic - 代码生成器与 ORM 与存储过程

这些软件架构各自在哪些领域发光或失败?

哪些关键要求会促使您选择其中一项?

请假设您有可用的开发人员,他们可以编写良好的面向对象代码以及良好的数据库开发。

另外,请避免圣战 :) 这三种技术各有利弊,我对最适合使用哪种技术感兴趣。

0 投票
2 回答
5191 浏览

python - 用于 Python 的 iBATIS?

在我目前的演出中,我们通过 Java 使用 iBATIS 来 CRUD 我们的数据库。我喜欢该工具的抽象特性,尤其是在使用遗留数据库时,因为它不会将自己的语法强加给您。

我正在寻找这个库的 Python 模拟,因为该网站只有 Java/.NET/Ruby 版本可用。如果不需要,我不想切换到 Jython。

是否还有其他类似于 iBATIS 功能的 Python 项目?

0 投票
5 回答
14670 浏览

java - 当 Hibernate 刷新一个 Session 时,它如何判断 session 中哪些对象是脏的?

我对 Hibernate 的理解是,当对象从数据库加载时,它们会被添加到会话中。在不同的点,根据您的配置,会话被刷新。此时,修改后的对象被写入数据库。

Hibernate 如何决定哪些对象是“脏的”并且需要写入?

Hibernate 生成的代理会拦截对字段的分配,并将对象添加到 Session 的脏列表中吗?

还是 Hibernate 会查看 Session 中的每个对象并将其与对象的原始状态进行比较?

还是完全不同的东西?

0 投票
2 回答
199 浏览

architecture - 使用 ORM 时,如何安全地跨层发送加载的实体

当系统有 N 层时,并且使用 ORM 时,如何跨层发送加载的实体?

你使用 DTO 吗?

当不使用 DTO 直接发送实体时,如何防止未初始化的延迟加载关系错误?

注意:这不是“应该使用 N 层吗?” 问题。我假设系统已经有 N 层。

0 投票
1 回答
2117 浏览

c# - 实体框架 - 您能否将导入的存储过程的结果类型映射到自定义实体类型?

我已经在一个单独的 dll 中有一个实体模型,其中包含我需要使用的各种对象。我真的不想使用 EF 设计器创建或复制实体。相反,我想对其进行配置,以便当我调用存储过程时,它将某些列映射到特定属性。

我知道您可以使用 LinqToSql 中的自定义 DataContext 做一些非常接近此的事情。问题是您不能将列分配给复杂的属性类型。例如:我可能会返回一个包含用户地址的列。我想将用户的地址详细信息存储在作为用户对象属性的地址对象中。所以,列 S​​TREET 应该映射到 User.Address.Street。

有任何想法吗?

0 投票
8 回答
14999 浏览

.net - NHibernate 的轻量级替代品

由于所有的依赖关系,NHibernate 并不适合我们的环境。(城堡、log4net 等)

有没有好的轻量级替代品?

支持简单的基于文件的数据库,如 Access/SQLite/VistaDB 是必不可少的。

理想情况下,包含在仅引用 .NET 程序集的单个程序集中的内容。如果它只需要 .NET 框架 2.0 或 3.0,那将是一个奖励。

0 投票
19 回答
550440 浏览

orm - ORM(对象关系映射)中的“N+1 选择问题”是什么?

“N+1 选择问题”通常在对象关系映射 (ORM) 讨论中被表述为一个问题,我知道这与必须对对象中看似简单的东西进行大量数据库查询有关世界。

有人对这个问题有更详细的解释吗?

0 投票
6 回答
3240 浏览

java - 我应该使用哪个 EJB 3 持久提供程序?

我在一个相当大的 J2EE 项目上使用 EJB 3,默认情况下,Netbeans 将实体 bean 的持久提供程序设置为 TopLink。可以选择将提供程序更改为以下之一,甚至添加新的持久性库:

  • 休眠
  • 古多
  • OpenJPA

您更喜欢使用哪个持久性提供程序?使用其他提供商有什么好处?

虽然 TopLink 似乎很好,但我找不到太多关于如何控制缓存等的好文档。任何帮助将不胜感激。

0 投票
6 回答
13063 浏览

database - Haskell 有 ORM 工具吗?

使用 Haskell 与数据库交互的最佳方式是什么?我习惯于使用某种 ORM(Django 的 ORM、hibernate 等),在使用HAppS创建应用程序时,类似的东西会很好。

编辑:就实际数据库而言,我想自由选择 Postgresql MySql 和 SQLite。

0 投票
36 回答
334328 浏览

php - 好的 PHP ORM 库?

PHP 有没有好的对象关系映射库?

我知道PDO /ADO,但它们似乎只提供数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射。我正在寻找一个 PHP 库,其功能类似于Hibernate为 Java 所做的方式和 NHibernate 为 .NET 所做的方式。