【发布时间】:2017-08-04 09:26:37
【问题描述】:
我已经编写了一个存储过程,以便在 spring 中使用 hibernate 插入到 oracle 中的表中。当我从 hibernate 调用该过程时插入的数据但我得到了以下错误
Cannot perform fetch on a PLSQL statement: next
程序
create or replace PROCEDURE INSERT_ITEM_TYPE(
ITEM_TYPE_ID IN number ,
TYPE_NAME IN VARCHAR2 ,
BN_NAME IN VARCHAR2 ,
CREATED_BY IN NUMBER ,
CREATED_ON IN DATE ,
UPDATED_BY IN NUMBER ,
UPDATED_ON IN DATE ,
IS_DELETED IN NUMBER )
AS
BEGIN
INSERT
INTO pg_item_type
(
ITEM_TYPE_ID,
ITEM_TYPE_NAME,
BN_ITEM_TYPE_NAME,
CREATED_BY,
CREATED_ON,
UPDATED_BY,
UPDATED_ON,
IS_DELETED
)
VALUES
(
ITEM_TYPE_ID,
TYPE_NAME,
BN_NAME,
CREATED_BY,
CREATED_ON,
UPDATED_BY,
UPDATED_ON,
IS_DELETED
);
commit;
END INSERT_ITEM_TYPE;
模型类
@Entity
@Table(name = "PG_ITEM_TYPE")
@NamedNativeQueries({
@NamedNativeQuery(
name = "insertyItemType",
query = "CALL INSERT_ITEM_TYPE(:id,:name,:bnName,:cretedBy,:createdOn,:updatedBy,:updatedOn,:isDeletd)",
resultClass = GdItemType.class
)
})
public class GdItemType {
.....
}
** DAO **
@Override
public void saveGdItemType(GdItemType gdItemType) {
Session session = this.sessionFactory.getCurrentSession();
//session.saveOrUpdate(gdItemType);
Query query = session.getNamedQuery("insertyItemType")
.setParameter("id", gdItemType.getItemTypeId())
.setParameter("name", gdItemType.getItemTypeName())
.setParameter("bnName", gdItemType.getBnItemTypeName())
.setParameter("cretedBy", gdItemType.getCreatedBy())
.setParameter("createdOn", gdItemType.getCreatedOn())
.setParameter("updatedBy", gdItemType.getUpdatedBy())
.setParameter("updatedOn", gdItemType.getUpdatedOn() )
.setParameter("isDeletd", gdItemType.getIsDeleted());
query.list();
}
我卡在这里了。谁能帮帮我....
【问题讨论】: