showsql为true看看sql语句出来了没?如果出来了,说明没有commit,autocommit是true还是?false?

解决方案 »

  1.   

    <bean id="hibernateProperties"
    class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="properties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.Oracle9Dialect
    </prop>
    <prop key="hbm2ddl.auto">create</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
    <prop key="hibernate.order_updates">true</prop>
    <prop key="hibernate.generate_statistics">true</prop>
    <prop key="hibernate.use_sql_comments">true</prop>
    <prop key="hibernate.cache.provider_class">
    org.hibernate.cache.EhCacheProvider
    </prop>
    <prop key="hibernate.cache.use_minimal_puts">true</prop>
    <prop key="hibernate.cache.use_structured_entries">
    true
    </prop>
    </props>
    </property>
    </bean>
    <!-- SessionFactory -->
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="DataSource" />
    </property>
    <property name="hibernateProperties">
    <ref bean="hibernateProperties" />
    </property>
    <property name="mappingResources">
    <list>
    <value>
    com/syswin/crm/base/dao/TCustomerReqTask.hbm.xml
    </value>
    </value>
    </list>
    </property>
    </bean>这是sessionfactory的配置,sql没有输出!谢谢
      

  2.   

    prop key="hbm2ddl.auto">create </prop>  先把这句改成none试下
      

  3.   

    好像是一对多关系除了问题:
    org.springframework.dao.InvalidDataAccessApiUsageException: com.syswin.crm.base.dao.TCity; nested exception is org.hibernate.TransientObjectException: com.syswin.crm.base.dao.TCity
    Caused by: org.hibernate.TransientObjectException: com.syswin.crm.base.dao.TCity
    at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:216)
    at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
    at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:220)
    at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:476)
    at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:2803)
    at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:467)
    at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:190)
    at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:113)
    at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195)
    at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
    at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:126)
    at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:821)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:637)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:624)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:307)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
    at com.syswin.crm.common.log.LogInterceptor.invoke(LogInterceptor.java:12)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:616)
    at com.syswin.crm.base.service.BlockService$$EnhancerByCGLIB$$592373db.deleteBlock(<generated>)    <class name="com.syswin.crm.base.dao.TBlock" table="T_BLOCK" schema="CRM">
            <id name="blockId" type="java.lang.String">
                <column name="BLOCK_ID" length="20" />
            </id>
            <many-to-one name="TCity" class="com.syswin.crm.base.dao.TCity"  fetch="join">
                <column name="CITY_ID" length="20" />
            </many-to-one>
            <property name="blockName" type="java.lang.String">
                <column name="BLOCK_NAME" length="30" />
            </property>
            <property name="blockNameSpell" type="java.lang.String">
                <column name="BLOCK_NAME_SPELL" length="30" />
            </property>
            <property name="createDate" type="java.lang.String">
                <column name="CREATE_DATE" length="8" />
            </property>
            <set name="TProperties" inverse="true">
                <key>
                    <column name="T_B_BLOCK_ID" length="20" not-null="true" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TProperty" />
            </set>
            <set name="TEstates" inverse="true">
                <key>
                    <column name="T_B_BLOCK_ID" length="20" not-null="true" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TEstate" />
            </set>
            <set name="TAreas" inverse="true">
                <key>
                    <column name="BLOCK_ID" length="20" not-null="true" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TArea" />
            </set>
        </class>    <class name="com.syswin.crm.base.dao.TCity" table="T_CITY" schema="CRM">
            <id name="cityId" type="java.lang.String">
                <column name="CITY_ID" length="20" />
                <generator class="native" />
            </id>
            <property name="cityName" type="java.lang.String">
                <column name="CITY_NAME" length="30" />
            </property>
            <property name="cityNameSpell" type="java.lang.String">
                <column name="CITY_NAME_SPELL" length="30" />
            </property>
            <property name="createDate" type="java.lang.String">
                <column name="CREATE_DATE" length="8" />
            </property>
            <set name="TDistricts" inverse="true" >
                <key>
                    <column name="CITY_ID" length="20" not-null="true" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TDistrict" />
            </set>
            <set name="TBlocks" >
                <key>
                    <column name="CITY_ID" length="20" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TBlock" />
            </set>
            <set name="TEstates" inverse="true">
                <key>
                    <column name="T_C_CITY_ID" length="20" not-null="true" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TEstate" />
            </set>
            <set name="TProperties" inverse="true">
                <key>
                    <column name="T_C_CITY_ID" length="20" not-null="true" />
                </key>
                <one-to-many class="com.syswin.crm.base.dao.TProperty" />
            </set>
        </class>
    是不时配置有问题啊,谢谢
    block和city是多队一得关系,在删除多的时候出现的问题