错误笔记



1、

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type

‘studentManager.dao.ZhuanYeDao’ available: expected at least 1 bean which qualifies as autowire candidate.

Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=,

authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}

原因:在dao里未配置@respository

2、

org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread

原因:忘记写上<tx:annotation-driven transaction-manager=“txManager”/>

此句的意思为声明事物处理为注释类型,如果不写上此句,默认为以下的事物处理为xml配置

<bean id="txManager"
     class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread

原因:忘记写上<tx:annotation-driven transaction-manager=“txManager”/>

此句的意思为声明事物处理为注释类型,如果不写上此句,默认为以下的事物处理为xml配置

<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

3、

org.springframework.dao.InvalidDataAccessApiUsageException: deleted object would be re-saved by cascade

(remove deleted object from associations): [studentmanagement.po.Student#1]; nested exception is

org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from

associations): [studentmanagement.po.Student#1]

原因:级联操作删除时,需要级联删除但是没有设置级联删除 或者是级联操作的参数权限大小有问题,例如删除

student(class cascade=“none”)时class(student cascade=“delete”)指的是student的操作不对class产生影响,删除

class的同时student

级联配置的是本对象的改变对相关连对象产生什么样影响

none:在保存,删除或修改当前对象时,不对其附属对象(关联对象)进行级联操作。它是默认值。

save-update:在保存,更新当前对象时,级联保存,更新附属对象(临时对象,游离对象)。

delete:在删除当前对象时,级联删除附属对象。

all:所有情况下均进行级联操作,即包含save-update和delete操作。

delete-orphan:删除和当前对象解除关系的附属对象。

4、

There is no Action mapped for namespace [/] and action name [ZhuanYeAction_addZhuanYeUI] associated with

context path [].

原因:struts2未放在src的根下