java - Hibernate 出错:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
问题描述
在这里,我创建会话:
public class HibernateSessionFactoryUtil {
private static SessionFactory sessionFactory;
public HibernateSessionFactoryUtil() { }
public static SessionFactory getSessionFactory() {
if (sessionFactory == null) {
try {
Configuration configuration = new Configuration().configure();
configuration.addAnnotatedClass(User.class);
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
sessionFactory = configuration.buildSessionFactory(builder.build());
} catch (Exception e) {
System.out.println("Error!" + e);
}
}
return sessionFactory;
}
}
我的用户:
@Entity
@Table(appliesTo = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String lastName;
private String firstName;
private String position;
private int department;
public User(){}
public User(String lastName, String firstName, String position, int department) {
this.lastName = lastName;
this.firstName = firstName;`
this.position = position;
this.department = department;
}
}
在DAOImpl
,在我初始化会话的那一行,我得到了一个错误:
public void save(final Object o) {
if (o == null) {
logger.error("**DAO - save* EMPTY OBJ");
return;
}
Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession();
Transaction tx1 = session.beginTransaction();
session.save(o);
tx1.commit();
session.close();
}
例外:
Exception in thread "main" java.lang.NullPointerException
at codebox.dao.DAOImpl.save(DAOImpl.java:50)
at codebox.services.UserService.saveUser(UserService.java:19)
at codebox.Application.main(Application.java:16)
解决方案
The error was that I did not initialize the context: For an example in main:
ConfigurableApplicationContext context = SpringApplication.run (Application.class, args);
MyService myService = (MyService) context.getBean ("myService");
In this service, the main beans were pulled up
推荐阅读
- postgresql - 如何使用空值将 csv 文件导入 Postgres?
- android - 防止 Cordova Android 在后台运行
- excel - 从 Excel 将约会保存到共享的 Outlook 日历
- angular - Angular 材质 - 表格骨架占位符
- c# - 如何从 Type blob 签名中解释 FNPTR?
- xml - 在 xPath 中使用多个过滤器无法正确过滤
- javascript - 在数组中查找具有相同日期和总和值的元素
- javascript - 从属性对象创建对象的更好方法?
- python - 地图未使用地理位置显示在管理站点中
- android - 在 Android Studio 中创建了一个简单的按钮,但什么也没有出现