问题标签 [hibernate-4.x]
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.
hibernate - Hibernate 4 和使用 JPA + Spring 时有关延迟加载的改进
Hibernate 4 是否带来了关于延迟加载的任何改进?
我们使用 Hibernate 作为 JPA 提供程序,并希望保持我们的代码干净,不包含特定于 hibernate 的内容。我们不想使用 Hibernate 会话对象。在我们的应用程序中,我们也使用 Spring 和 JSF。我们认为有 aOpenSessionInViewFilter
和 aOpenSessionInViewInterceptor
但是两者似乎都只在 bean 在请求范围内时才起作用。拦截 Spring 会话范围 ( @Scope("session")
) 似乎不起作用。
其他框架允许weaving
或enhancement
bean。Hibernate 4 现在是否可以实现类似的功能,或者引入其他新功能以使代码不受休眠特定扩展的影响?(有些配置当然没问题。)
我已经检查了 Hibernate 4 中有什么新功能? 并看到他们在 sessionfactory 上工作,但是我不明白它是否有帮助。
hibernate - Hibernate 4 中的新 XSD 架构
在 Hibernate 4 中,我发现(对我来说是新的)使用 XSD 模式而不是 DTD 的可能性。
但是模式位置无效,在初始化期间我遇到了错误。
有人知道 Hibernate 4 中的 XSD 有什么问题吗?
java - 使用休眠 4.0 和 spring 3.1.0.release 的事件监听器?
这些 jar 都是新发布的,并且具有 Java EE 应用程序的最新解决方案。但是我在 hibernate.cfg.xml 中指定休眠侦听器时遇到问题。
在 spring 3.1.0 之前,LocalSessionFactroyBean
持有一个保持事件监听器的属性。但是在 3.1.0.release 中没有 eventlisteners 映射。现在我无法在 saveorupdate、postload 等上跟踪模态对象,因为它们不是由 Spring 配置的。你有解决这个问题的想法吗?
java - How do I get unit test to run in java 7: java.lang.VerifyError: Expecting a stackmap frame at branch target
Hi I am running a maven test using maven 3.0.3 with hibernate 4.0.0 Final release and spring 3.1 on jdk7 update 2.
I get the following error.
My Equals method is using EqualsBuilder from commons-lang 2.6. I set the following maven opts
after reading this Java 7 JVM verifyError
Note: My test works under jdk 1.6 update 29.
How do I fix this? It seems setting -XX:-UseSplitVerifier still causes the error.
spring - Hibernate4 和 Lobhandler
根据这篇文章,我将会话工厂定义从
进入
不幸的是,不可能像在 hibernate3 中那样定义 LobHandler。由于“Lobhandler”的javadoc中仍然写有以下内容,因此似乎仍然有必要
总结推荐的选项(对于实际的 LOB 字段):
JDBC 4.0 驱动程序:StreamAsLob=true 的 DefaultLobHandler。
PostgreSQL:带有 wrapAsLob=true 的 DefaultLobHandler。甲骨文 9i/10g:
OracleLobHandler 具有特定于连接池的 NativeJdbcExtractor。
对于所有其他数据库驱动程序(以及对于可能在某些数据库上变成 LOB 的非 LOB 字段):一个普通的 DefaultLobHandler。
那么,是否还需要在hibernate4中定义lobHandler???如果是这样,我在哪里可以定义它?
hibernate - HHH000387 休眠警告是什么意思?
我刚刚更新到 Hibernate 4.0 并看到警告消息:
HHH000387: ResultSet's statement was not registered
在我的日志文件中。这是什么意思,我应该担心吗?
hibernate - Hibernate 4 ClassCastException 延迟加载,而 EAGER 工作正常
我有以下地理区域(如大陆、国家、州等)的 JOINED 继承根实体:
如您所见,地理区域有一个简单的自动 ID 作为 PK、一个名称以及与其父级的关系(自我引用)。请注意parent
映射为的地理区域关系FetchType.LAZY
。在数据库中,FKparent_id
使NOT NULL
关系成为可选的。的默认@ManyToOne
值为optional = true
,因此映射似乎是正确的。
子类定义了额外的属性,实际上并不感兴趣。数据库中的数据已正确链接,因为可以通过 JPQL 毫无问题地列出地理区域(在FetchType.EAGER
上的映射略有不同parent
,见文末):
每一行都是一个实例:
运行将父映射为 LAZY 的列表查询时,出现以下异常:
堆栈跟踪之前的 println 是:
println 明确表示父级是 State 的一个实例,但不能强制转换为 State?我不知道...
当将 GeoArea.parent 的 FetchType 更改为 EAGER 时,一切正常(见上图)。
我究竟做错了什么?LAZY 提示有什么问题?
谢谢
PS:我使用的是Hibernate 4.0.0.Final,映射都是标准的 JPA,服务器是 JBoss AS 7。
java - 未找到当前线程的会话(Spring 3.1.X 和 Hibernate 4)
我正在尝试使用 Spring 3.1 和 Hibernate 4 设置我的项目。我一直在关注一些在线教程。我收到一个奇怪的错误,根据 spring 论坛应该已经用 Spring 3.1 修复了。 春季错误追踪器
当我的服务调用getCurrentSession()
时,它会引发以下异常:
****编辑:根据 Spring Spring 3.1 Documentation for Transactions更新了我的 spring-dao.xml 。我尝试用 org.apache.commons.dbcp.BasicDataSource 替换我的数据源。我的配置中是否缺少任何可能导致此问题的属性?****
这是我的 spring-dao.xml:
我的用户 bean (User.java)
最后我的服务...
我意识到我的数据源可能没有被使用。如果我忘记包含任何配置,我可以更新这篇文章。此外,如果需要 Tomcat 启动日志,我也可以提供它们。
java - Hibernate 3.6.7 到 4.0.1 升级,嵌套事务
我正在尝试从休眠 3.6.7 升级到 4.0.1,并从 JDK 1.6 升级到 JDK 1.7。
迁移配置文件等后...我可以正常运行我的应用程序。
首先是我休眠的 cfg.xml:
但是我面临 1 嵌套 sessionFactory.getCurrentSession().beginTransaction() 的问题这曾经在休眠 3.6.7 中工作,尽管没有“hibernate.transaction.factory_class”属性。
有人知道我做错了什么吗?
堆栈跟踪是这样的: