Tag: hibernate 4.x

在Hibernate 5中替换org.hibernate.Transactions.isActive()

我正在从hibernate 4.2.17迁移到5.0.7到目前为止工作正常,但似乎不推荐使用方法isActive 。 我不能再使用它了。 这是我的代码: public void starteTransaktion() { try { getMySession(); if(!hibernateSession.getTransaction().isActive()) { hibernateSession.beginTransaction(); } } catch (HibernateException e) { } } 我替换了所有其他方法,但我找不到替代方法…… 错误消息:方法isActive()未定义类型Transaction

如何让unit testing在java 7中运行:java.lang.VerifyError:期望分支目标下的stackmap帧

嗨,我正在使用maven 3.0.3运行maven测试,使用hibernate 4.0.0最终版本和jdk7 update 2上的spring 3.1。 我收到以下错误。 Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 63 in method ${myDomainClass}.equals(Ljava/lang/Object;)Z at offset 24 at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) at java.lang.Class.getDeclaredMethods(Class.java:1808) at org.hibernate.property.BasicPropertyAccessor.getterMethod(BasicPropertyAccessor.java:352) at org.hibernate.property.BasicPropertyAccessor.getGetterOrNull(BasicPropertyAccessor.java:331) at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:314) at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:310) at org.hibernate.internal.util.ReflectHelper.getter(ReflectHelper.java:250) at org.hibernate.internal.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:229) at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:314) at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:447) at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:380) at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:320) at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:171) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXml(Configuration.java:3377) […]

如何创建支持通用ID的通用实体模型类,包括自动生成的ID?

我有三种表的主键: INT自动生成的主键,使用来自数据库供应商(MySQL)的AUTO_INCREMENT容量 CHAR(X)主键,用于将用户可读值存储为键(其中X是数字,50 <= X <= 60) 复杂的主键,由表的2或3个字段组成。 此外,还有一些字段可能存在(或不存在): 版本, INT字段。 createdBy, VARCHAR(60) field和lastUpdatedBy, VARCHAR(60)字段(还有更多字段,但这些字段涵盖了一个基本示例)。 上面的一些例子: 表格1 id int主键auto_increment 版本int 值char(10) createdBy varchar(60) lastUpdatedBy varchar(60) 表2 id char(60)主键 shortDescription varchar(20) longDescription varchar(100) 表3 field1 int主键 field2 int主键 小数(10,5) 版本int 考虑到所有这些,我需要创建一组支持这些要求的通用类,并允许使用Hibernate 4.3和JPA 2.1进行CRUD操作。 这是我当前的模型(避免使用getter / setter来缩短代码示例): @MappedSuperclass public abstract class BaseEntity implements Serializable { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) […]

用于JPA回调的Hibernate事件侦听器

如何启用处理JPA回调的Hibernate事件侦听器? 目前我正在使用Hibernate 4和SessionFactory配置,但是当我持久化对象时,JPA回调没有正常运行。 任何建议都是最受欢迎的。 源代码 临时实体类: package com.esp.entity; import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.PostLoad; import javax.persistence.Table; import com.esp.aaa.TempVal; @Entity @EntityListeners(value=TempVal.class) @Table(name=”TEMP”) public class Temp { private int id; private String name; private String email; private int roll; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { […]

找不到当前线程的会话(Spring 3.1.X和Hibernate 4)

我正在尝试使用Spring 3.1和Hibernate 4来设置我的项目。我一直在线学习一些教程。 我得到一个奇怪的错误,根据Spring论坛应该已经修复了Spring 3.1。 春虫追踪器 当我的服务调用getCurrentSession() ,它会抛出以下exception: org.hibernate.HibernateException: **No Session found for current thread**] with root cause org.hibernate.HibernateException: No Session found for current thread at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:97) at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:881) ****编辑:根据Spring Spring 3.1 Documentation for Transactions更新了我的spring-dao.xml。 我尝试用org.apache.commons.dbcp.BasicDataSource交换我的数据源。 我的配置中是否有任何可能导致此问题的属性? **** 这是我的spring-dao.xml: hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect 我的用户bean(User.java) package com.foo.lystra.beans; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; […]