java - hibernate SessionFactory 不起作用

标签 java hibernate jakarta-ee

我在 hibernate 时遇到问题,但我不明白这个问题到底是什么 如果你有什么想法?

private SessionFactory sessionFactory;
@SuppressWarnings("unchecked")
public List<Customer> listCustomer() {
    return sessionFactory.getCurrentSession().createQuery("FROM customer").list();
}

Main.java

public class Main {

public static void main(String[] args) {

    CustomerDaoImpl dao=new CustomerDaoImpl();

    for(int i=0; i<dao.listCustomer().size(); i++){
        System.out.println(i);
    }   
   }
 }

错误

Exception in thread "main" java.lang.NullPointerException
at com.apps.dao.CustomerDaoImpl.listCustomer(CustomerDaoImpl.java:37)
at com.apps.dao.Main.main(Main.java:8)

最佳答案

您必须初始化您的sessionFactory。在早期的 hibernate 版本中,您是这样做的

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

从 4.3.0 版本开始。你必须这样做

Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().
applySettings(configuration.getProperties());
SessionFactory sessionFactory = configuration.buildSessionFactory(builder.build());

关于java - hibernate SessionFactory 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27648849/

相关文章:

java - 如何获取已占用的端口?

java - 将具有响应式设计的网站转换为 Android 应用程序

java - 如何在 JUnit 测试中初始化数据

oracle - 具有 Oracle 标签安全性的 JPA/Hibernate

jsp - Java 前端 Controller

Java处理request.getParameter中的特殊字符

java - 库 (Cognalys) 类未找到异常

Java:如果一行包含特定单词,则打印一次

java - 如何使用maven多模块springboot告诉spring从自定义目录加载资源

java - Hibernate PreUpdateEventListener 不起作用