我使用Spring專門爲使用Hibernate的DAO類佈線的依賴關係,但我收到了我不解的異常:代理不能轉換爲CLASS
$ Proxy58不能轉換到userDAO的
吾道配置如下:
<bean id="userDao" class="com.domain.app.dao.UserDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
而且我有一個接口,抽象基類和最終執行如下命令。
接口:
public interface Dao {
public void save(Object object);
public Object load(long id);
public void delete(Object object);
public void setSessionFactory(SessionFactory sessionFactory);
}
抽象基類:
public abstract class BaseDao implements Dao {
private SessionFactory sessionFactory;
@Transactional
@Override
public void save(Object object) {
PersistentEntity obj = (PersistentEntity) object;
currentSession().saveOrUpdate(obj);
}
@Transactional
@Override
public abstract Object load(long id);
@Transactional
@Override
public void delete(Object object) {
// TODO: this method!
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public Session currentSession() {
return sessionFactory.getCurrentSession();
}
}
實現:
public class UserDao extends BaseDao implements Dao {
@Transactional(readOnly=true)
@Override
public Object load(long id) {
Object user = currentSession().get(User.class, id);
return user;
}
}
以下拋出上述異常:
UserDao dao =(UserDao)context.getBean(「userDao」);
然而,這並不拋出異常:
道DAO =(DAO)context.getBean( 「userDAO的」);
如果任何人可以提供任何幫助或指導爲什麼發生這種例外情況,我會非常感激。
[$ Proxy25的可能的重複不能轉換爲我的類春框架](http://stackoverflow.com/questions/5702364/proxy25-cannot-be-cast-to-my-class-spring-framework) – artbristol