Java Hibernate无效映射异常
Java Hibernate invalid mapping exception
我的代码在使用 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,请确保您具有以下依赖项:
此外,com.mysql.jdbc.Driver
已弃用。使用 com.mysql.cj.jdbc.Driver
.
如果您发布异常的整个堆栈跟踪会更有帮助。
我的代码在使用 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,请确保您具有以下依赖项:
此外,com.mysql.jdbc.Driver
已弃用。使用 com.mysql.cj.jdbc.Driver
.
如果您发布异常的整个堆栈跟踪会更有帮助。