org.hibernate.MappingException:无法从文件配置覆盖:hibernate.reveng.xml

问题描述 投票:0回答:2

[Hibernate代码3.6]与oracle数据库连接我已经使用了架构DB1我的数据库,最近我在我的dababase中添加了一个新表(5个表)

所以我正在使用hibernate与eclipse生成.class和hbm.xml以便与数据库进行映射

我只需要转换5个独立的新表,我的意思是没有映射一对一或一对多

另一方面,这5个表之间有一个映射

这是我的配置:

enter image description here

这是我的配置文件hibernate.reveng.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.org/dtd/hibernate-reverse-engineering-3.0.dtd" >

<hibernate-reverse-engineering>
  <table-filter match-schema="XX" match-name="tab1"/>
  <table-filter match-schema="XX" match-name="tab2"/>
  <table-filter match-schema="XX" match-name="tab3"/>
  <table-filter match-schema="XX" match-name="tab4"/>
  <table-filter match-schema="XX" match-name="tab5"/>
</hibernate-reverse-engineering>

当我在没有hibernate.reveng.xml的情况下生成这个Hibernate代码配置时(这意味着他将从数据库生成所有表)它运行良好我已经创建了我的所有tab1,2,3,4,5但是所有其他表

所以我需要生成我的新表

拜托你能帮帮我吧

java hibernate oracle10g hibernate-mapping
2个回答
1
投票

我在更改DOCTYPE后解决了我的异常

我改变了

<!-- dont know why but its not working -->
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.org/dtd/hibernate-reverse-engineering-3.0.dtd" >

通过这个

<!-- works fine -->

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >

谢谢


0
投票

今天升级后,我解决了改变我的DOCTYPE的问题。

我删除了这个(不起作用)

<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >

用这个(作品)

<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.org/dtd/hibernate-reverse-engineering-3.0.dtd" >
© www.soinside.com 2019 - 2024. All rights reserved.