草庐IT

hibernate-spatial

全部标签

java - 将 EJB 2.x BMP 实体 bean 与 Hibernate 3.x 混合

我有一个使用EJB2.x实体bean(BMP)的大型应用程序。这是众所周知的可怕的持久性策略(如有必要,我可以详细说明)。我想开始迁移此应用程序以使用更具表现力、透明和非侵入性的持久性策略,鉴于我公司以前的经验,Hibernate3.x是显而易见的选择。迁移到Hibernate需要一段时间,因为应用程序中有超过100个表使用实体bean。因此,我正在寻找一种分阶段的方法,其中两种持久性策略并行运行,如果可能的话,最好同时在同一张表上运行。我的问题是,将这两种持久性策略结合起来有哪些缺陷(如果有的话)?他们会互相妨碍吗? 最佳答案 正

java - Hibernate:避免一次将所有记录读入内存

我在数据库中有大量行,我需要从中创建一个XML文档。我正在使用hibernate3。Criteria和Query接口(interface)中的基本list()方法看起来很危险:我怀疑它几乎必须将所有记录读入内存,即使我只迭代它们也是如此。还是有一些延迟加载魔术?如果没有,我似乎还有两个选择:使用Query中的scroll()或iterate()(滚动也存在于Criteria中)。如果我想要最少的SQL往返,iterate看起来也不是那么好:“第一个SQL查询仅返回标识符”。所以我是对的,我必须为此使用scroll()吗? 最佳答案

java - 如何在查询时设置 hibernate 实体使用的架构名称?

我们的应用程序将Hibernate用于ORM,并将数据存储在多个模式中,通过为应用程序定制授权的用户访问它们。模式名称是在运行时根据数据确定的;将它们的名称包含在实体映射文档中是不可行的。这意味着我需要一种方法来告诉Hibernate在执行查找时使用特定的模式名称。有办法做到这一点吗? 最佳答案 这是一个页面,其中列出了您可以管理的一些方法multipleschemasinHibernate.我可能会实现您自己的connectionprovider.您可能还想禁用缓存。 关于java-如

java - 如何使用 Hibernate for Java 将 CHAR(1) 映射到 boolean 值?

如何使用HibernateforJava将CHAR(1)映射到boolean值? 最佳答案 true_false或yes_no类型将为您执行此操作。 关于java-如何使用HibernateforJava将CHAR(1)映射到boolean值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/447478/

java - hibernate二级缓存ehcache的性能

我们正在考虑使用ehcache(1.6.0-beta5)来对一些从未修改过的表启用二级缓存。我们已经为这个表设置了一个只读的ehcache区域,目前它似乎工作正常。存储在缓存中的HibneratePOJO都是不可变的。这里的一位开发人员提出了一个问题,即从ehcache中“水化”对象(即从ehcache的内部表示实体到实际java对象的映射)所花费的时间显着降低了性能。相反,他建议我们手动将对象存储在我们自己的缓存中。这将需要对我们的代码进行重大修改,我对改进的幅度持保留态度。我的问题是:这是性能下降吗真的很重要吗?如果实体在只读缓存中是不可变的,ehcache实际上需要做什么有补水吗

java - 使用主键以外的东西 hibernate 一对多

我有一个类A有一组B的。但是,这两个对象由不是主键的字段链接。对于B,我可以使用,但我如何指定连接应该在A中.secondary_column?不是A.table_primary_key_id? 最佳答案 解决了 关于java-使用主键以外的东西hibernate一对多,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1241026/

java - hibernate 列唯一性问题

我仍在学习hibernate/hql,我有一个问题,一半是最佳实践问题,一半是健全性检查。假设我有一个A类:@EntitypublicclassA{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;@Column(unique=true)privateStringname="";//getters,setters,etc.omittedforbrevity}我想强制每个保存的A实例都有一个唯一的名称(因此有@Column注释),但我也希望能够处理已经保存了一个具有该名称的A实例的情况。我看到了两种方法:1)我可以

java - 在 PostgreSQL 的时间戳列上使用 Hibernate 进行日期查询

一个表有时间戳列。其中的示例值可能是2010-03-3013:42:42。使用Hibernate,我正在执行范围查询Restrictions.between("column-name",fromDate,toDate)。此列的Hibernate映射如下。比方说,我想找出日期为2010年3月30日和2010年3月31日的所有记录。该字段的范围查询按如下方式完成。DatefromDate=newSimpleDateFormat("yyyy-MM-dd").parse("2010-03-30");DatetoDate=newSimpleDateFormat("yyyy-MM-dd").par

java - Hibernate:遍历数百万行并且不泄漏内存

下面的代码起作用了,但是Hibernate永远不会放弃它对任何对象的控制。调用session.clear()会导致有关获取连接类的异常,并且在检索下一个对象之前调用session.evict(currentObject)也无法释放内存。最终我耗尽了堆空间。检查我的堆转储,StatefulPersistenceContext是指向我的对象的所有引用的垃圾收集器的根。publicclassCriteriaReportSourceimplementsJRDataSource{privateScrollableResultssr;privateObjectcurrentObject;priva

java - hibernate/JPA : Mapping entities to different databases

我有一个管理3个数据库的应用程序。我在seam框架上使用带JPA的hibernate。所以我有一个包含三个持久单元的persitence.xml文件(我删除了db2和db3的属性):org.hibernate.ejb.HibernatePersistencedb1sourceorg.hibernate.ejb.HibernatePersistenced2sourceorg.hibernate.ejb.HibernatePersistenced3source在我的seamcomponents.xml文件中,我创建了3个managed-persistence-context以将seam映射