我正在尝试使用hibernate建立与数据库的简单连接。这是我的配置文件:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
<property name="connection.username">user</property>
<property name="connection.password">pass</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/mycomp/pro/model/elem/elem.hbm.xml"/>
</session-factory>
</hibernate-configuration>
我收到以下错误:
Exception in thread "main" org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 6 and column 26 in RESOURCE hibernate.cfg.xml. Message: cvc-elt.1: Cannot find the declaration of element 'hibernate-configuration'.
...
似乎有点不合逻辑。因为我将'hibernate-configuration'作为hibernate.cfg.xml文件中的根元素。
我正在使用Hibernate 4.1.1(刚才提到,因为我已经得到一些提示,新的hibernate可能会有一些问题)
希望有人可以提供帮助,因为我是Hibernate的新手,现在我也没有得到谷歌的任何重大帮助。
答案 0 :(得分:2)
使用以下命令构建会话工厂 -
new Configuration().configure().buildSessionFactory();
至于Hibernate.cfg,你可以试试下面的标题。
<hibernate-configuration
xmlns="http://www.hibernate.org/xsd/hibernate-configuration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-configuration
https://github.com/hibernate/hibernate-orm/raw/master/hibernate-core/src/main/resources/org/hibernate/hibernate-configuration-4.0.xsd">
目前Hibernate 4.1似乎遇到了错误(不确定稳定性)。我在邮件列表中找到了解决方案,所以也要检查一下。希望这会有所帮助。
http://www.mail-archive.com/hibernate-dev@lists.jboss.org/msg06937.html
答案 1 :(得分:0)
将会话工厂创建为新的AnnotationConfiguration()。配置 ()。 buildSessionFactory(); 希望它能帮助你建立联系......
答案 2 :(得分:0)
试试这段代码。
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
将标头添加到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>
--------
<hibernate-configuration>
答案 3 :(得分:0)
从D:\hibernate-release-5.1.17.Final\project folder
>>>>>>>搜索hibernate.cfg.xml
中复制粘贴休眠配置xml文件
并选择了正确的文件,其中包括创建,DOCTYPE
和映射...
只需根据您的数据库和设置更改值。