在创建将使用Hibernate作为ORM将对象保存在数据库中的服务时,我无法启动该应用程序。
我正在使用Spring Boot和Hibernate。我的ServiceImpl:
<script>
export default {
data() {
return {
radios: 'radio-1',
valid: true
}
}
}
</script>
PropertyDAO.java
@Service
public class PropertyServiceImpl implements PropertyService{
private PropertyDAO propertyDAO;
public PropertyServiceImpl(){
System.out.println("inside propertyserviceimpl constructor");
}
@Autowired
public PropertyServiceImpl(PropertyDAO propertyDAO){
this.propertyDAO = propertyDAO;
System.out.println("inside save");
}
@Transactional
public void save(Property property) {
propertyDAO.save(property);
}
@Override
public List findAll() {
// TODO Auto-generated method stub
return null;
}
}
PropertyDAOImpl实现DAO
public interface PropertyDAO {
public void save(Property property);
}
}
启动SpringBoot应用程序时收到以下错误消息。
public class PropertyDAOImpl implements PropertyDAO{
@Autowired
private SessionFactory sessionFactory;
public void save(Property property) {
Session currentSession = sessionFactory.getCurrentSession();
currentSession.saveOrUpdate(property);
}
答案 0 :(得分:2)
将@Repository添加到您的DAO实现类中,以便找到它:
@Repository
public class PropertyDAOImpl implements PropertyDAO {
实现诸如“数据访问对象”之类的传统Java EE模式的团队也可以将这种构造型应用于DAO类,尽管在这样做之前应注意理解数据访问对象和DDD样式存储库之间的区别。
答案 1 :(得分:0)
如下更改您的PropertyDAO:
public interface PropertyDAO extends JpaRepository<Property, Integer>{ }