Tag: orm

entity framework和MongoDb

Entity Framework是否支持MongoDb数据库?也许有人会写一个EF MongoDb Provider?

澄清术语:“保湿”实体:从数据库获取属性

在实体的ORM /惰性加载的情况下,我对“水合”一词的理解如下: “保湿”描述了填充使用延迟加载获取的实体的一些或全部先前未填充的属性的过程。 例如:class Author从数据库加载: @Entity class Author { @Id long id; List<Book> books; } 最初, bookscollections不填充。 我的理解是,从数据库加载books集合的过程被称为“保湿”集合。 这个定义是否正确,是常用的术语? 在这个过程中还有另一个更常见的术语吗?

JPA:如何将一个string持久化到数据库字段中,键入MYSQL Text

要求是用户可以写一篇文章,因此我select了在MySQL数据库内的content字段中inputText 。 如何将Java String转换为MySQL Text 在这里,你去Jim Tough @Entity public class Article implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private Long userId; private String title; private String content; private Integer vote; //Constructors, setters, getters, equals and hashcode } 在我的MYSQL数据库中, content是Texttypes的。 我希望能有这样的java.sql.Text ,因为java.sql.Blob是一个实际的types,但不幸的是,这并不存在

从JPA / EJB3持久性上下文中分离一个实体

什么是分离通过EntityManager获取的特定JPA实体Bean最简单的方法。 或者,我可以有一个查询返回分离的对象在第一个地方,所以他们将本质上作为“只读”? 我想这样做的原因是因为我想修改bean中的数据 – 只在我的应用程序中,但没有永久保存到数据库。 在我的程序中,我最终不得不在EntityManager上调用flush(),这会将附加实体的所有更改保存到解除数据库,但是我想排除特定的对象。

在使用sqlalchemy的声明性ORM扩展时使用多列索引

根据文档: http : //docs.sqlalchemy.org/en/latest/core/constraints.html#indexes 以及sqlalchemy.Column类中的注释,我们应该使用sqlalchemy.schema.Index类来指定包含多个多重索引的索引。 但是,该示例显示了如何通过直接使用Table对象来执行此操作: meta = MetaData() mytable = Table('mytable', meta, # an indexed column, with index "ix_mytable_col1" Column('col1', Integer, index=True), # a uniquely indexed column with index "ix_mytable_col2" Column('col2', Integer, index=True, unique=True), Column('col3', Integer), Column('col4', Integer), Column('col5', Integer), Column('col6', Integer), ) # place an index on col3, col4 Index('idx_col34', mytable.c.col3, mytable.c.col4) 如果我们使用声明式的ORM扩展,我们应该怎么做呢? […]

如何用NHibernate架构生成来更新数据库表格模式?

我想弄清楚如何使用映射NHibernateconfiguration来更新表模式,而不是丢弃和重新创build它们。 目前我正在使用NHibernate.Tool.hbm2ddl.SchemaExport对象与FluentNHibernate生成一个MySQL数据库的数据库模式。 虽然我不能说这是一个巨大的问题,每当我在数据库上调用SchemaExport.Execute ,它将删除所有的表,然后重新创build它们。 更酷的是,如果我可以只是更新现有的表结构,在可能的情况下保留数据。 但是我并不想使用商业产品或者代码生成器,因为我不喜欢代码生成,我不需要这么做,所以我会考虑为它付钱。 所以希望任何答案会记住这些警告。

学会2与关联的inheritance映射

注:如果我想要的是不可能的,一个“不可能”的答案将被接受 在有关inheritance映射的Doctrine 2文档中 ,它说有两种方法: 单表inheritance(STI) 类表inheritance(CTI) 对于这两个,有警告: 如果您使用STI / CTI实体作为多对一或一对一的实体,则不应将inheritance层次上层的其中一个类用作“targetEntity”,而只能使用那些没有子类的类。 否则,Doctrine不能创build这个实体的代理实例,并总是急切地加载实体。 那么,我该如何继续使用基类(抽象)类的关联inheritance ? (并保持当然的performance) 例 一个用户有许多Pet (由Dog或Cat扩展的抽象类)。 我想做的事 : class User { /** * @var array(Pet) (array of Dog or Cat) */ private $pets; } 由于在Doctrine文件中的警告,我应该这样做: class User { /** * @var array(Dog) */ private $dogs; /** * @var array(Cat) */ private $cats; } 这很烦人,因为我失去了inheritance的好处! […]

获取最后一个插入ID与教条2?

我怎样才能得到最后的插入ID与教条2 ORM? 我没有在教条的文件中find这个,这甚至有可能吗?

我如何devise一个没有ORM且没有embedded式SQL的Java Web应用程序

编辑:原始标题:关于使用ORM的好处的问题。 我想使用ORM进行学习,并尝试使用nhibernate。 我正在使用教程,然后我有一个真正的项目。 我可以走“老路”或使用ORM。 我不确定我完全理解这个好处。 一方面,我可以在代码中创build我的抽象,以便可以更改我的数据库并独立于数据库。 另一方面,如果我真的改变数据库列,我必须改变我所有的代码。 为什么我不能没有我的应用程序没有ORM,改变我的数据库和改变我的代码,而不是改变我的数据库,ORM和代码? 他们的数据库结构是不是变化太大了? 我相信有这样的好处,因为ORM被这么多人使用。 我只是不确定我还没有得到它。 谢谢。 编辑:在教程中他们有许多文件,用于使ORM的工作 http://www.hibernate.org/362.html 在应用程序发生变化的情况下,只是说我有“适当”的抽象层,似乎还有很多额外的工作。 因为我是新手,看起来并不那么容易维护,再次看起来像额外的工作,而不是更less。 编辑:这是一个老问题,我不断回来。 我想看看如果正确地devise没有ORM的应用程序,没有使用embedded式SQL,也没有使用.NET LINQ-to-SQL,没有违法的例子。 我现在在Java世界,而且我迷失在如何继续。 这是一个Web应用程序。 没有spring,没有其他世俗的框架。 JSP,JSTL,EL,HTML,JavaScript,CSS,Java,Tomcat。 希望我没有留下任何东西。 是的,我知道这是一个古老的问题。 这仍然是相关的。

什么是提高NHibernate性能的最佳方法?

我有一个应用程序使用NHibernate作为它的ORM,有时它会遇到性能问题,由于如何访问它的数据。 可以做什么样的事情来提高NHibernate的性能? (请将每个答案限制为一个build议)