首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate 4.3.6保存(实体) oracle

hibernate 4.3.6保存(实体) oracle
EN

Stack Overflow用户
提问于 2014-10-29 09:13:35
回答 1查看 367关注 0票数 0

更新到hibernate后,4.3.6保存(实体)无法工作。在更新保存之前,如下所示:

代码语言:javascript
复制
public void save(Object entity) {
     getHibernateTemplate().save(entity);
}

而且效果很好。现在它是:

代码语言:javascript
复制
public void save(Object entity) {
    getCurrentSession().save(entity);
}

也救不了实体。Hibernate实体和映射是相同的。什么都没改变。问题是,当我试图保存实体时,我调用的存储过程使用的是ibatis,它需要在DB (Oracle)中保存实体。DB中没有数据,所以我的过程崩溃了。

我的问题是: hibernate-core 4.3.6这个保存不像hibernate-core 3.5.6 (我以前的版本)有什么问题。除保存调用外,代码中没有任何更改。只有图书馆。

当我在调试模式上执行保存时:

代码语言:javascript
复制
2014-10-29 11:35:31,820 Thread-8 SessionFactoryImpl$SessionBuilderImpl- Opening Hibernate Session. tenant=null, owner=null
2014-10-29 11:35:31,823 Thread-8 SessionImpl- Setting flush mode to: MANUAL
2014-10-29 11:35:31,862 Thread-8 DefaultSaveOrUpdateEventListener- Saving transient instance
2014-10-29 11:35:31,865 Thread-8 AbstractSaveEventListener- Generated identifier: 10107, using strategy: org.hibernate.id.Assigned
2014-10-29 11:35:31,868 Thread-8 AbstractSaveEventListener- Saving pl.com.uhc.db.hibernates.dto.ster.Message#10107
2014-10-29 11:35:31,871 Thread-8 ActionQueue- Adding an EntityInsertAction for [pl.com.uhc.db.hibernates.dto.ster.Message] object
2014-10-29 11:35:31,874 Thread-8 ActionQueue- Adding insert with no non-nullable, transient entities: [EntityInsertActionpl.com.uhc.db.hibernates.dto.ster.Message#10107]
2014-10-29 11:35:31,877 Thread-8 ActionQueue- Adding resolved non-early insert action.
2014-10-29 11:35:31,880 Thread-8 IdentifierValue$4- ID unsaved-value strategy UNDEFINED
2014-10-29 11:35:31,883 Thread-8 AbstractEntityPersister- Getting current persistent state for: pl.com.uhc.db.hibernates.dto.ster.MessageType#1
Hibernate: 
select
   messagetyp_.MessageTypeID,
   messagetyp_.FullName as FullName2_115_,
   messagetyp_.ShortName as ShortName3_115_,
   messagetyp_.Type as Type4_115_ 
from
MessageType messagetyp_ 
where
messagetyp_.MessageTypeID=?
2014-10-29 11:35:31,891 Thread-8 LogicalConnectionImpl- Obtaining JDBC connection
2014-10-29 11:35:31,894 Thread-8 LogicalConnectionImpl- Obtained JDBC connection
2014-10-29 11:35:31,897 Thread-8 JdbcCoordinatorImpl- Registering statement [oracle.jdbc.driver.OraclePreparedStatementWrapper@133c3e0]
2014-10-29 11:35:31,900 Thread-8 BasicBinder- binding parameter [1] as [INTEGER] - [1]
2014-10-29 11:35:31,906 Thread-8 JdbcCoordinatorImpl- Registering result set [oracle.jdbc.driver.OracleResultSetImpl@180ca9e]
2014-10-29 11:35:31,909 Thread-8 BasicExtractor- extracted value ([FullName2_115_] : [VARCHAR]) - [Komunikat statystyczny zwrotny[SWZ]]
2014-10-29 11:35:31,912 Thread-8 BasicExtractor- extracted value ([ShortName3_115_] : [VARCHAR]) - [SWZ]
2014-10-29 11:35:31,914 Thread-8 BasicExtractor- extracted value ([Type4_115_] : [VARCHAR]) - [P_SWI]
2014-10-29 11:35:31,917 Thread-8 JdbcCoordinatorImpl- Releasing result set [oracle.jdbc.driver.OracleResultSetImpl@180ca9e]
2014-10-29 11:35:31,920 Thread-8 JdbcCoordinatorImpl- Closing result set [oracle.jdbc.driver.OracleResultSetImpl@180ca9e]
2014-10-29 11:35:31,924 Thread-8 JdbcCoordinatorImpl- Releasing statement [oracle.jdbc.driver.OraclePreparedStatementWrapper@133c3e0]
2014-10-29 11:35:31,928 Thread-8 JdbcCoordinatorImpl- Closing prepared statement [oracle.jdbc.driver.OraclePreparedStatementWrapper@133c3e0]
2014-10-29 11:35:31,931 Thread-8 JdbcCoordinatorImpl- Starting after statement execution processing [ON_CLOSE]
2014-10-29 11:35:31,934 Thread-8 UnresolvedEntityInsertActions- No unresolved entity inserts that depended on [pl.com.uhc.db.hibernates.dto.ster.Message#10107]
2014-10-29 11:35:31,937 Thread-8 UnresolvedEntityInsertActions- No entity insert actions have non-nullable, transient entity dependencies.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-31 06:30:18

在该方法中添加@Transactional:

代码语言:javascript
复制
@Transactional
public void save(Object entity) {
    getCurrentSession().save(entity);
}

Hibernate需要一个事务来创建会话。添加此注释后,保存开始工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26626428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档