草庐IT

Hibernate-Session

全部标签

java - 使用枚举作为参数的 Hibernate 查询

我没有运气让hibernate(使用HSQLDB)查询工作。查询代码如下所示:Queryquery=session.createQuery("from"+tableName+"whereCURRENCY=:currency");query.setParameter("currency",currency);Listlist=query.list();我一直收到“Causedby:org.hsqldb.HsqlException:incompatibledatatypeinconversion”:org.hibernate.exception.SQLGrammarException:co

java - Hibernate 无法反序列化错误

我有这个Oracle表:SQL>NameNull?Type-----------------------------------------------------------------------------JOB_IDNOTNULLVARCHAR2(13)TYPENOTNULLNUMBERCOMPONENT_DESCRIPTIONNOTNULLVARCHAR2(255)COMPONENT_IDVARCHAR2(13)STATUSNOTNULLNUMBER(1)REASONVARCHAR2(255)NOTESVARCHAR2(255)SQL>没有定义的主键,但JOB_ID、TYPE

java - 升级到 Hibernate 4.3.4 主要方法永远不会终止 JVM 未完成

我必须从Hibernate4.2.3升级到Hibernate4.3.4以测试一些JPA2.1规范。我只更改了这行代码上一行:finalorg.hibernate.service.ServiceRegistryserviceRegistry=neworg.hibernate.service.ServiceRegistryBuilder().applySettings(hibConfiguration.getProperties()).buildServiceRegistry();新添加的代码行finalorg.hibernate.service.ServiceRegistryservic

java - Hibernate 中的 boolean 真值

是否可以将hibernate设置为将-1而不是1作为数据库中boolean字段的真值?我需要-1来保持与其他Delphi程序的兼容性。 最佳答案 @Type(type="com.sample.type.CustomClass")@Column(name="TEST_FLAG")privatebooleantestFlag;@Type注解需要一个实现userType接口(interface)的类的完整路径;这是生产映射列的目标类型的工厂CustomClas.java实现hibernate提供的UserType接口(interface)

java - Spring 和 Hibernate 的事务管理使非 Activity 事务成为可能

我正在使用Spring和Hibernate管理一个JavaWeb应用程序。我使用Spring和Hibernate工具来处理持久性级别,因此我不需要提交\回滚我的事务。该应用程序是并发的,因此用户可以修改相同的记录,我决定使用ReadCommitted作为隔离级别。问题是有时我会在日志中发现JDBC错误,并且所有下一个请求都会出现相同的错误,从而阻止应用程序行为。这些是事务管理中涉及的组件:@BeanpublicSpringLocalSessionFactoryBeansessionFactory(DataSourcedataSource){SpringLocalSessionFacto

java - Hibernate : could not initialize proxy - no Session 中的 LazyInitializationException

我从我的服务中调用dao@Override@TransactionalpublicProductgetProductById(intid){returnproductDao.getProductById(id);}在dao中我得到的产品是@OverridepublicProductgetProductById(intid){Productp=sessionFactory.getCurrentSession().load(Product.class,id);System.out.print(p);returnp;}这运行良好,但如果我将我的dao类更改为@OverridepublicPr

java - Hibernate 的 Transaction.wasCommitted 方法的替代品是什么?

我正在尝试从旧版本的Hibernate(第3版)更新一些代码。它使用Hibernate5中不再存在的Transaction接口(interface)的两个方法。session.getTransaction().wasCommitted()session.getTransaction().wasRolledBack()Hibernate5中的等价物是什么? 最佳答案 您似乎在寻找session.getTransaction().getStatus()。例如,session.getTransaction().getStatus()==T

java - 如何将 hibernate @DynamicUpdate 与 spring data jpa 一起使用?

我正在使用springdata-jpa。我只想更新一列。我的仓库是;publicinterfaceUserRepositoryextendsJpaRepository{}我的服务是;publicUsersave(Useruser){returnuserRepository.save(user);}我的实体;@Entity@DynamicUpdate(true)publicclassUserimplementsSerializable{//columndefinitions,etc.}如何只更新User中的一列? 最佳答案 首先,我想

java - 为什么无状态 session bean 是单线程的?

根据我的理解,无状态sessionbean用于对业务逻辑进行编码。它们不能将数据存储在它们的实例变量中,因为它们的实例被多个请求共享。所以它们看起来更像是单例类。然而,不同之处在于包含为每个请求创建(或从池中重用)无状态sessionbean的单独实例。谷歌搜索后,我可以找到JavaEE规范说它们应该是单线程的原因。但是我不明白为什么指定为SINGLETHREADED? 最佳答案 由于TX上下文,SLSB是单线程的,Principal在调用时与bean实例相关联。这些beans被合并,除非达到最大池大小,否则将在单独的线程中处理(取

java - hibernate 自定义 UserType 不工作

我创建了一个UserType(见下文)来处理我们一直将空日期保存为0000-00-0000:00:00的mySQL数据库中的情况。当我尝试使用dispDT的null来持久化我的实体时(见下文),它会生成此异常:“javax.persistence.PersistenceException:org.hibernate.PropertyValueException:not-nullpropertyreferencesanullortransientvalue:myEntity.显示"通过在MySQLTimeStampUserType的每个方法中设置一个断点,我可以看到它调用了deepCop