我的开发人员正在进行内战。在一个营地中,他们拥抱了Hibernate和Spring。在另一个阵营中,他们谴责了框架-尽管他们正在考虑使用Hibernate。
问题是:新手Hibernate-Spring转换可能会偶然发现任何令人讨厌的惊喜,弱点或陷阱吗?
PS:我们有一个不是很完善的DAO库。我怀疑它是否具有Hibernate的丰富性,但是它已经达到某种成熟度(即,在它包含的最后几个项目中都没有更改)。
过去,我已经多次使用过Hibernate。每次遇到极端情况时,确定语法都会成为文档,Google和旧版本的拾荒者。它是一个功能强大的工具,但是文档记录很差(我上次看过)。
至于Spring,在过去的几年中,我采访或研究的几乎每一项工作都涉及Spring,它实际上已成为Java /
web的事实上的标准。使用它可以帮助您的开发人员在将来更具市场价值,并且可以帮助您,因为您将拥有大量了解您的应用程序的人员。
编写自己的框架很诱人,很有教育意义,而且很有趣。结果不太好。
是否可以使用Hibernate ORM和OGM创建单个应用程序?我创建了一个应用程序,我在一个应用程序中遇到了多个JPA的问题。我通过更改两个JPA的名称解决了这个问题,但两个JPA之间仍然存在冲突。以下是例外情况: 原因:org.springframework.beans.factory.无法将类型[org.hibernate.internal.SessionFactoryImpl]的参数值转换
AddressTemporal类 我已经将lucene配置为使用字符串常量(“null”)索引空字段,这样我就可以使用该值查询空字段。 我的问题是,我需要执行一个查询,该查询将在集合中搜索,但只筛选那些where字段为空的查询。现在 谢谢 乌利塞斯
问题内容: 单独打电话是个好习惯吗? 如文档中所述, 必须在提交事务并关闭会话之前在工作单元的末尾调用(取决于刷新模式,Transaction.commit()会调用此方法)。 您能解释一下是否会明确呼叫的目的吗? 问题答案: 在Hibernate手册中,您可以看到此示例 如果不调用flush方法,则一级缓存将抛出OutOfMemoryException 您也可以看一下有关冲洗的帖子
问题内容: 我有一个包含其他两个具有@ManyToOne关系的实体的实体。 如果我尝试保存一个具有另一个A记录的“ B_ID”和“ C_ID”的A实例,则会出现异常: org.hibernate.NonUniqueObjectException:具有相同标识符值的另一个对象已与会话关联 例如: B_ID和C_ID在我的模型中不是唯一的,并且(B_ID + C_ID)不是唯一的约束! 我能做什么?
问题内容: 我如何获得Spring来从中加载Hibernate的属性? 我们正在使用Spring和JPA(以Hibernate作为实现)。Spring 指定了JPA语言和Hibernate属性: 在这种配置中,Spring通过applicationContext.xml读取所有的Hibernate属性。当我创建一个(位于我的类路径的根,与META- INF处于同一级别)时,Hibernate根本不
我正在做一个项目,使用Hibernate和Jackson来序列化我的对象。我想我理解它是如何工作的,但我无法让它工作。 如果我理解得很好,只要关系获取模式设置为LAZY,如果你想要这个关系,你就必须初始化它。 这是我的课: 还有所有的能手和二传手。 我也试过这个作为类注释。还尝试了非空。然而,杰克逊一直派我去
由于Resultset的大小,我需要在作业中使用HibernateCursorItemReader,但是我不能使它与EntityGgraph一起工作来急切地获取一些关系。我正在使用QueryProvider。 如果没有任何EntityGgraph,则不会发生连接,并且读取器可以正常工作,但是在批次处理作业期间,Hibernate会执行大量SQL查询以懒惰地获取数据。这导致处理非常缓慢。 通过查询提
问题内容: 我如何让Spring从中加载Hibernate的属性? 我们正在使用Spring和JPA(以Hibernate作为实现)。Spring 指定了JPA语言和Hibernate属性: 在这种配置中,Spring通过applicationContext.xml读取所有的Hibernate属性。当我创建一个(位于我的类路径的根目录,与META- INF处于同一级别)时,Hibernate根本不