我的代码在xml映射下工作得很好,然后我更改为注释,我收到此错误:
Exception in thread "main" org.hibernate.InvalidMappingException: Unable to read XML
这是我的 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.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/hibernate1?useLegacyDatetimeCode=false&serverTimezone=UTC</property>
<property name="connection.username">hibernate1</property>
<property name="connection.password">mypassword</property>
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.show_sql">true</property>
<mapping class="hibernate.Profesor" file="" jar="" package="" resource=""/>
<mapping class="hibernate.Direccion" file="" jar="" package="" resource=""/>
</session-factory>
</hibernate-configuration>
我能够让它为我工作,只改变connection.url
、connection.username
和connection.password
:
// A SessionFactory is set up once for an application
SessionFactory sessionFactory = new Configuration()
.configure() // configures settings from hibernate.cfg.xml
.buildSessionFactory();
删除映射配置文件。也就是说,删除Profesor.hbm.xml
并Direccion.hbm.xml
如果它们仍然存在。如果您使用批注,则不需要它们。 如果您使用的是 Maven,请确保您具有以下依赖项:
- MySQL-connector-java
- 休眠核心
此外,com.mysql.jdbc.Driver
已被弃用。使用com.mysql.cj.jdbc.Driver
.
如果您发布异常的整个堆栈跟踪,这将更有帮助。