当我使用hibernate 5.0.2时遇到问题,我尝试找到解决方案但失败了。我不知道问题出在哪里。
这是hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.username">mecro</property>
<property name="connection.password">mecro1234</property>
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver/property>
<property name="connection.url">jdbc:sqlserver://localhost:1433;databaseName="Micarle";characterEncoding=UTF-8</property>
<property name="dialect">org.hibernate.dialect.SQLServer2012Dialect.class</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="Students.hbm.xml"/>
</session-factory>
这是测试类
public class StudentsTest {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void init(){
//Configuration config = new Configuration().configure();
StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
session = sessionFactory.openSession();
transaction = session.beginTransaction();
}
@After
public void destroy(){
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
public void testSaeStudents() {
Students s = new Students(1, "mecro", "man", new Date(), "montains");
session.save(s);
}
当我将类作为junit test
运行时,这是错误 org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number -1 and column -1 in RESOURCE hibernate.cfg.xml. Message: unexpected element (uri:"http://www.hibernate.org/xsd/orm/cfg", local:"property"). Expected elements are <{
有一些失败跟踪跟随此错误。但我无法复制它,我认为它们毫无意义
答案 0 :(得分:1)
查看您指定的SQLServerDriver属性....您错过了<