冬眠4+;Spring4 org.hibernate.hibernateeException:当';hibernate.方言';未设定

冬眠4+;Spring4 org.hibernate.hibernateeException:当';hibernate.方言';未设定,spring,hibernate,Spring,Hibernate,需要一些帮助。 我正在学习使用Spring和Hibernate,所以我可能在某个地方犯了一个基本的错误,但我就是不知道在哪里。 我尝试在Tomcat8服务器上运行我的应用程序,我使用BoneCP作为数据源实现和MySQL,我在没有Maven的情况下构建它。我以前没有问题 我有我的SpringXML文件springdispatcherservlet.XML <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://ww

需要一些帮助。 我正在学习使用Spring和Hibernate,所以我可能在某个地方犯了一个基本的错误,但我就是不知道在哪里。 我尝试在Tomcat8服务器上运行我的应用程序,我使用BoneCP作为数据源实现和MySQL,我在没有Maven的情况下构建它。我以前没有问题

我有我的SpringXML文件springdispatcherservlet.XML

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="main.statisthira"/>
<context:property-placeholder location="WEB-INF/properties/gers.properties"/>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix"><value>/WEB-INF/jsp/</value></property>
    <property name="suffix"><value>.jsp</value></property>
</bean>

<bean name="dataSource" class="com.jolbox.bonecp.BoneCPDataSource">
    <property name="username" value="gers"/>
    <property name="password" value="password"/>
    <property name="user" value="jdbc:mysql://localhost:3306/statisthira"/>
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
</bean>

<bean name="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" lazy-init="true">
    <property name="dataSource" ref="dataSource"/>

</bean>

<bean name="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<bean name="songNewDAO" class="main.statisthira.dao.SongNewDAO">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>
我正在脱机工作,这建议在

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
@请求映射(“/home”) 公屋{

@Autowired
private ISongNewDAO songNewDAO;

@RequestMapping(method = RequestMethod.GET)
public String helloWorld(ModelMap model) {
    Song song = songNewDAO.getSongById("0isp4utk4v");
    model.addAttribute("song", song);
    model.addAttribute("message", "Hello world");
    return "home";
}

public ISongNewDAO getSongNewDAO() {
    return songNewDAO;
}

public void setSongNewDAO(ISongNewDAO songNewDAO) {
    this.songNewDAO = songNewDAO;
}

您需要在sessionFactory bean中指定hibernate配置文件的位置:

<bean name="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" lazy-init="true">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>


我完全错过了,谢谢。但是现在我收到了一个http 404错误
07-Mar-2017 08:30:26.073警告[http-nio-8088-exec-1]org.springframework.web.servlet.PageNotFound.nohandler未找到URI为[statisthira/home]的http请求的映射在名为“springdispatcher”的DispatcherServlet中,在我的web.xml文件中,我有
springdispatcher/
和控制器
@controller@RequestMapping(“/home”)public class Home…
请发布您的web.xml和控制器Home类。请尝试解决问题的path/Home not/statisthira/Home(现在我有其他错误消息,但那是另外一回事).但是,在我开始集成Hibernate之后,如何解释这种行为的变化呢?因为在此之前,我使用/statisthira/home访问了该控制器。如果您想在公开的端点中使用statisthira作为所有路径的前缀,那么请将servlet映射更改为springdispatcher/statisthira/*
<servlet>
    <servlet-name>springdispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>springdispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>/WEB-INF/jsp/home.jsp</welcome-file>
</welcome-file-list>
Controller
@Autowired
private ISongNewDAO songNewDAO;

@RequestMapping(method = RequestMethod.GET)
public String helloWorld(ModelMap model) {
    Song song = songNewDAO.getSongById("0isp4utk4v");
    model.addAttribute("song", song);
    model.addAttribute("message", "Hello world");
    return "home";
}

public ISongNewDAO getSongNewDAO() {
    return songNewDAO;
}

public void setSongNewDAO(ISongNewDAO songNewDAO) {
    this.songNewDAO = songNewDAO;
}
<bean name="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" lazy-init="true">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>