[英]can't get data from database using spring-mvc and hibernate
this is my code: my model class:这是我的代码:我的模型类:
@Entity
@Table(name="admin")
public class Admin extends Profile{
public Admin(){}
public Admin(String mail, String name, String lastName, String password, Date birthDate, int gsm){
super(mail, name, lastName, password, birthDate, gsm);
}
}
the DAO class: DAO 类:
@Repository
public class AdminDAO {
private static final Logger logger = LoggerFactory.getLogger(AdminDAO.class);
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sf){
this.sessionFactory = sf;
}
@SuppressWarnings("unchecked")
public List<Admin> listAdmins() {
Session session = this.sessionFactory.getCurrentSession();
List<Admin> adminsList = session.createQuery("from Admin").list();
for(Admin a : adminsList){
logger.info("Admin List::"+a);
}
return adminsList;
}
}
my Service class:我的服务类:
@Service
public class AdminService {
@Autowired
private AdminDAO adminDAO;
public void setAdminDAO(AdminDAO adminDAO) {
this.adminDAO = adminDAO;
}
@Transactional
public List<Admin> listAdmins() {
return this.adminDAO.listAdmins();
}
}
when i run my code i get this error message:当我运行我的代码时,我收到此错误消息:
java.lang.NullPointerException at com.journaldev.spring.dao.AdminDAO.listAdmins(AdminDAO.java:38)
java.lang.NullPointerException 在 com.journaldev.spring.dao.AdminDAO.listAdmins(AdminDAO.java:38)
i added an admin manually in my database, but it still showing the null pointer exception what i am doing wrong ??我在我的数据库中手动添加了一个管理员,但它仍然显示空指针异常我做错了什么?? note: i have another class that works fine, it gets all entities and when the database is empty, it doesn't generate null pointer exception
注意:我有另一个工作正常的类,它获取所有实体,当数据库为空时,它不会生成空指针异常
You missed the @Autowired
or the @Inject
annotation for the setter method for adminDAO
.您错过了
adminDAO
的 setter 方法的@Autowired
或@Inject
注释。 It has to be它一定要是
@Autowired
public void setAdminDAO(AdminDAO adminDAO) {
this.adminDAO = adminDAO;
}
You have to annotate all dependencies of your Bean with @Autowired
or @Inject
.您必须使用
@Autowired
或@Inject
注释 Bean 的所有依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.