Spring MVC整合Hibernate5框架—dispatcher-servlet.xml文件里已经配置了数据库连接等信息,写了个新建数据表的简单功能(就几个文件),运行没有报错但访问时报HTTP Status 500错误org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml],不过很奇怪是数据表成功建立但没数据写入。
我很纳闷的是hibernate4之后不是使用sessionFactoryBean代替hibernate.cfg.xml文件么,我没有建hibernate.cfg.xml文件。具体的一些文件和错误截图如下
dispatcher-servlet.xml文件
org.hibernate.dialect.MySQL57Dialect
create
true
Message.java文件
package com.hiber.entity;
import javax.persistence.*;
@Entity
public class Message{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
int id;
@Column(nullable = false)
String text;
public Message(String text) {
setText(text);
}
public Message(){}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
IndexController.java文件
package com.hiber.controllers;
import com.hiber.entity.Message;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping(value = "/persist")
public String saveMessage(){
Message message = new Message("Hello, world");
StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure()
.build();
SessionFactory sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
session.persist(message);
tx.commit();
return "数据添加成功!";
}
}
浏览器错误截图
数据表新建成功截图
项目结构
大家帮忙看看究竟是哪里出了问题,Thanks in advance!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Hibernate5.2版本以上这样写:
org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]的问题解决了,但又出现了org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment],同样求助!
查看web.xml配置,如下:
其中daoContext.xml中就配置了数据源、sessionFactory,事务管理器、事务;
你的有加这些吗?看错误是没有