我在處理當前的Spring和Hibernate應用程序時遇到了另一個問題。我已經構建了我的DAO接口/類,以及我的服務接口/類,當然還有實體。只有在沒有@Transactional的情況下,Spring/Hibernate應用程序才能正常工作
一切都被部署好,但只要我的@Transactional
註釋添加到我的XXXServiceImpl班,我得到部署在以下異常(在Glassfish和Tomcat測試):
Caused by: java.lang.IllegalStateException: Cannot convert value of type [com.sun.proxy.$Proxy25 implementing net.dreamcode.bleevle.persistence.service.IntranetService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.dreamcode.bleevle.persistence.service.impl.IntranetServiceImpl] for property 'intranetService': no matching editors or conversion strategy found
當然,我試着找到有關的東西,我想這基本上是因爲接口和類在添加註釋時不匹配。但是我也嘗試在我的界面上添加註釋,這無助於解決問題,併產生了與上述相同的錯誤。
下面是從我的項目(BasicService
,UserService
和UserServiceImpl
)一些示例代碼:
BasicService(接口):
public interface BasicService<T> {
T findById(String id);
void create(T entity);
void delete(T entity);
void update(T entity);
}
UserService(接口):
import net.dreamcode.bleevle.data.User;
public interface UserService extends BasicService<User> {
User findByName(String name);
}
個UserServiceImpl(類):
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
@Override
public User findByName(String name) {
return userDao.findByName(name);
}
@Override
public User findById(String id) {
return userDao.findById(id);
}
@Override
public void create(User entity) {
userDao.create(entity);
}
@Override
public void delete(User entity) {
userDao.delete(entity);
}
@Override
public void update(User entity) {
userDao.update(entity);
}
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
是否與這種模式(我想這是某種設計模式與服務,並道的東西)工作時做具體的事情?
任何形式的幫助,非常感謝。提前致謝!
非常感謝!即使我沒有在我的類中使用IntranetServiceImpl屬性,setter將實現作爲參數。現在我得到了與MySQL不同的錯誤,但我想我可以自己解決,再次感謝你! – MrPixelDream