fanchuanzhen 2008-11-08 15:43 采纳率: 100%
浏览 512
已采纳

handling transient entity in delete processing什么意思

菜鸟向各位高手求教,在使用delete时候,提示handling transient entity in delete processing.
方法如下:

public void delete(Member persistentInstance) {
log.debug("deleting Member instance");
try {
getSession().beginTransaction();
getSession().delete(persistentInstance);
log.debug("delete successful");
getSession().beginTransaction().commit();

    } catch (RuntimeException re) {
        log.error("delete failed", re);
        throw re;
    }
    finally
    {
        if(getSession().beginTransaction()!=null)
            getSession().beginTransaction().rollback();
        getSession().beginTransaction().commit();
        Close();
    }
}

数据库是postgres。表结构CREATE TABLE member
(
id integer NOT NULL,
name character varying,
pw character varying,
sex character varying,
identity serial NOT NULL,
CONSTRAINT pk PRIMARY KEY (identity)
)

请指教,谢谢了!!!
[b]问题补充:[/b]
其实也不是什么错误,就一直在delete processing中,就不删除数据。

信息如下:
INFO - Hibernate 3.2.5
INFO - hibernate.properties not found
INFO - Bytecode provider name : cglib
INFO - using JDK 1.4 java.sql.Timestamp handling
INFO - configuring from resource: /hibernate.cfg.xml
INFO - Configuration resource: /hibernate.cfg.xml
INFO - Reading mappings from resource : com/ison/hibernate/beans/Member.hbm.xml
INFO - Mapping class: com.ison.hibernate.beans.Member -> member
INFO - Reading mappings from resource : com/ison/hibernate/beans/Parnter.hbm.xml
INFO - Mapping class: com.ison.hibernate.beans.Parnter -> parnter
INFO - Configured SessionFactory: null
INFO - Using Hibernate built-in connection pool (not for production use!)
INFO - Hibernate connection pool size: 20
INFO - autocommit mode: false
INFO - using driver: org.postgresql.Driver at URL: jdbc:postgresql://127.0.0.1:5432/Demo
INFO - connection properties: {user=ison_sa, password=****}
INFO - RDBMS: PostgreSQL, version: 8.2.3
INFO - JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 8.2 JDBC3 with SSL (build 506)
INFO - Using dialect: org.hibernate.dialect.PostgreSQLDialect
INFO - Using default transaction strategy (direct JDBC transactions)
INFO - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
INFO - Automatic flush during beforeCompletion(): disabled
INFO - Automatic session close at end of transaction: disabled
INFO - JDBC batch size: 15
INFO - JDBC batch updates for versioned data: disabled
INFO - Scrollable result sets: enabled
INFO - JDBC3 getGeneratedKeys(): disabled
INFO - Connection release mode: auto
INFO - Default batch fetch size: 1
INFO - Generate SQL with comments: enabled
INFO - Order SQL updates by primary key: disabled
INFO - Order SQL inserts for batching: disabled
INFO - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO - Using ASTQueryTranslatorFactory
INFO - Query language substitutions: {}
INFO - JPA-QL strict compliance: disabled
INFO - Second-level cache: enabled
INFO - Query cache: disabled
INFO - Cache provider: org.hibernate.cache.NoCacheProvider
INFO - Optimize cache for minimal puts: disabled
INFO - Structured second-level cache entries: disabled
INFO - Echoing all SQL to stdout
INFO - Statistics: disabled
INFO - Deleted entity synthetic identifier rollback: disabled
INFO - Default entity-mode: pojo
INFO - Named query checking : enabled
INFO - building session factory
INFO - Not binding factory to JNDI, no JNDI name configured
INFO - handling transient entity in delete processing

[b]问题补充:[/b]
现在上面提示不变,多了

Exception in thread "main" org.hibernate.SessionException: Session was already closed

[b]问题补充:[/b]
对,你讲的非常正确!谢谢。
不过,那是我在试了N种方法后依然只得到handling transient entity in delete processing 这样的提示而无法从数据库中删除数据后,胡乱加的,呵呵。见笑了。
另外,我if控制的只有rollback(),现在我改了,可是依然没有删除数据啊,
我实在不解,请高手点拨啊!
[b]问题补充:[/b]
我晕了,改了之后提示跟我一开始贴出来的一样,连结果都是一样,数据没有删除
[b]问题补充:[/b]
有id,但跟数据库的ID不一致。原来这样
[b]问题补充:[/b]
多谢!
有问题再请教!!

  • 写回答

8条回答 默认 最新

  • iteye_14081 2008-11-08 16:17
    关注

    提示handling transient entity in delete processing. 并不是说有错误,只是info级别的提示。你debug一下这个delete(Member persistentInstance)方法传入的persistentInstance参数有没有id值,可能传进去的时候根本就没有id值,所以没有对应的数据可删除。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程