Tag: orm

SQL Alchemy ORM返回单个列,如何避免常见的后期处理

我正在使用SQL Alchemy的ORM,我发现当我返回一列时,我得到如下结果: [(result,), (result_2,)] # etc… 有了这样一个集合,我发现我必须经常这样做: results = [r[0] for r in results] # So that I just have a list of result values 这不是“坏”,因为我的结果集通常很小,但如果它们不是这样会增加大量的开销。 最大的问题是我觉得混乱的源头,错过了这一步是我碰到一个相当常见的错误。 有没有办法避免这个额外的步骤? 一个相关的因素:在这种情况下,orm的这种行为似乎很不方便,但另一种情况是我的结果集是[(id,value)],结果如下: [(result_1_id, result_1_val), (result_2_id, result_2_val)] 然后我可以做: results = dict(results) # so I have a map of id to value 在返回结果之后,这个作为一个有用的步骤是有意义的。 这真的是一个问题,或者我只是一个挑剔的和后处理得到的结果集是有道理的两种情况? 我确定我们可以考虑一些其他常见的后处理操作,以使结果集在应用程序代码中更加可用。 是否有全面的高性能和便捷的解决scheme,或者后期处理是不可避免的,只是需要不同的应用程序? 当我的应用程序实际上可以利用由SQL Alchemy的ORM返回的对象时,它看起来非常有用,但是在我不能或不可以的情况下,并不是那么多。 这只是ORM的普遍问题吗? 在这种情况下,我最好不要使用ORM层? […]

什么是entity frameworkstream利的API?

我一直听到entity frameworkstream利的API,但我很努力地find一个很好的参考。 它是什么? 我们使用entity framework和提供的build模工具。 那就是这一切吗? 还是有点不同? 同样,如果问题不是太广泛,POCO是什么? 我知道它代表简单的旧CLR对象,但是对于我来说,对于使用EF的devise师模型工具来说,这意味着什么呢? 如果这个问题太模糊,请忽略它。 我只是在这里学习,你愿意提供的任何信息都是有帮助的。

Hibernate如何检测实体对象的脏状态?

它是使用某种字节代码修改原始类? 或者,也许Hibernate通过比较给定的对象与以前的持久版本得到肮脏的状态? 我遇到了复杂对象的hashCode()和equals()方法的问题。 如果对象具有集合成员,我觉得计算哈希代码会很慢,而循环引用也是一个问题。 如果Hibernate不会使用hashCode() / equals()来检查脏状态,我想我不应该使用equals() / hashCode()作为实体对象(不是value对象),但是我也害怕如果相同的运算符( == )是不够的。 所以,问题是: Hibernate如何知道对象的属性是否改变? 你build议覆盖hashCode() /等equals()方法复杂的对象吗? 如果它们包含循环引用呢? 并且, 只有id域的hashCode() / equals()会不够?

SQLite数据库和ContentProvider的最佳实践

我的Android应用程序正在从几个不同的活动和服务读取和写入本地SQLite数据库。 相当标准。 但是,我并不满意所有存储为常量的数据库细节,然后在访问数据库的任何地方使用。 我build议将数据库包装在ContentProvider中。 听起来不错。 当我重构我的代码时,我想我会问: Android中本地DB数据存储的最佳做法是什么? 在哪里以及如何存储“CREATE TABLE”语句,列名称,其他SQL? 你介意分享你实例化的类的列表,以及每个类的内容(ContentProvider,DatabaseProvider,DatabaseHelper …)吗? 你如何协调你的本地Android DB的结构和通过REST接口提供的服务器端数据库? 是的,我意识到我在常年“Android对象关系映射框架在哪里? 题。 现在,我主要想知道如何使用标准SDK中的可用function来构buildAndroid应用程序。 一如既往,感谢指针!

EntityManagerclosures

[Doctrine\ORM\ORMException] The EntityManager is closed. 插入数据后,我得到一个DBALexception后,EntityManagerclosures,我无法重新连接。 我试过这样但是没有得到连接。 $this->em->close(); $this->set('doctrine.orm.entity_manager', null); $this->set('doctrine.orm.default_entity_manager', null); $this->get('doctrine')->resetEntityManager(); $this->em = $this->get('doctrine')->getEntityManager(); 任何人有一个想法如何重新连接?

Doctrine 2 ArrayCollection过滤方法

我可以在使用延迟加载的时候过滤掉在Doctrine 2中的arrayCollection的结果吗? 例如, // users = ArrayCollection with User entities containing an "active" property $customer->users->filter('active' => TRUE)->first() 目前还不清楚过滤方法是如何使用的。

Hibernate ORM 5有哪些新特性?

我刚刚看到第四名候选人获得了Hibernate 5的发布。与早期版本相比,5中有哪些新function?

什么是持久性上下文?

我是Java世界和JPA的新手。 我正在研究JPA,遇到了很多像Entity,Persistence这样的新术语。 在阅读时,我无法理解持久性上下文的确切定义。 任何人都可以用简单的外行人来解释吗? 用什么方法处理@Entity使用的数据? 例如,我觉得这个定义太难理解了: 持久性上下文是一组实体,这样对于任何持久性标识都有一个唯一的实体实例。

HIbernate commit()和flush()

我GOOGLE了很多,并了解org.hibernate.Transaction.commit()和org.hibernate.Session.flush()很多,知道每个方法的目的,但仍然有一个问题。 手工调用org.hibernate.Session.flush()方法是不是很好? 正如org.hibernate.Session文档中所说, 必须在工作单元结束时调用,在提交事务并closures会话之前(取决于flush-mode,Transaction.commit()调用此方法)。 你能解释一下,如果org.hibernate.Transaction.commit()会自动调用org.hibernate.Session.flush()的目的吗? 谢谢!

哪个微型ORM使用?

试图在Dapper , Massive和PetaPoco之间做出决定。 我喜欢Dapper的简单性,PetaPoco的Massive和POCO支持的灵活性,但是目前我正在拖延下一个项目的select。 我认识到,在很大程度上,这是个人品味的问题,但是相信听到关于这个问题的一些意见,尤其是那些尝试过这些问题的人,更多的是图书馆(对的是什么术语:库,文件,框架?)