我正在尝试使用StatelessSession在OSGi环境(Karaf4.0.7)中进行一些批量插入,但是当我尝试提交我的事务时,我得到了be.ikan.lib.orm.base.exceptions.PersistenceBrokerException:org.hibernate.TransactionException:CannotretrievetheTransactionManagerOSGiservice!atbe.ikan.lib.orm.hibernate.broker.HibernateStatelessPersistenceBrokerImpl.commitTran
StatelessSession和NHibernate中的Session有什么区别? 最佳答案 无状态session不跟踪检索到的实体。例如对于常规ISession以下代码:varsession=sessionFactory.OpenSession()using(vartransaction=session.BeginTransaction()){varuser=session.Get(1);user.Name="changedname";transaction.Commit();}将导致数据库更新。这种跟踪会消耗内存并使ISess
我在Hibernate中使用Spring+SpringDataJPA,我需要执行一些大型且昂贵的数据库操作。我如何使用StatelessSession来执行这些操作? 最佳答案 一种解决方案是实现一个Spring工厂bean来创建这个StatelessSession并将其注入(inject)到您的自定义存储库实现中:publicclassMyRepositoryImplimplementsMyRepositoryCustom{@AutowiredprivateStatelessSessionstatelessSession;@Ove