mmm*_*mmm 5 maven-2 hibernate maven-plugin maven
有没有一种方法可以配置hibernate3-maven-plugin
为检测序列生成器primary-key
?我正在使用一种自下而上的hibernate
配置方法(这意味着让您在现有数据库架构上hibernate-tools
使用a生成休眠配置)。我读过这个,而且这已经(这两个可能是不相关的,也可以留下一个提示)。我的如下:jdbc-connection
reverse-engineering
hibernate.reveng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering
SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
<hibernate-reverse-engineering>
<table name="ORDERS">
<primary-key>
<!-- setting up a specific id generator for a table -->
<generator class="sequence">
<param name="sequence">ORDERS_ORDER_ID_seq</param>
</generator>
<key-column name="ORDER_ID"/>
</primary-key>
</table>
</hibernate-reverse-engineering>
Run Code Online (Sandbox Code Playgroud)
我期望它生成这样的Orders.hbm.xml
文件:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2010-06-06 18:55:42 by Hibernate Tools 3.2.2.GA -->
<hibernate-mapping>
<class name="some.package.Orders" table="orders" schema="public">
<id name="orderId" type="long">
<column name="order_id" />
<generator class="sequence">
<param name="sequence">ORDERS_ORDER_ID_seq</param>
</generator>
</id>
...
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
...但是却收到了:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2010-06-06 18:55:42 by Hibernate Tools 3.2.2.GA -->
<hibernate-mapping>
<class name="some.package.Orders" table="orders" schema="public">
<id name="orderId" type="long">
<column name="order_id" />
<generator class="assigned" />
</id>
...
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
我知道我hibernate.reveng.xml
正在被读取hibernate3-maven-plugin
,因为只要文件中出现语法错误,我都会遇到Maven错误,因此pom.xml
看来是正确的,而且在hibernate.reveng.xml
语法上也是正确的。
有什么线索吗?
下面的代码最终为我工作。我只需order
要用小写形式传递表名(我在DDL中使用了大写字母,所以我实际上听不懂,但这是可行的)。还schema
需要提供属性。该<key-column name="pkey"/>
是可选的(如果你遵循休眠命名约定)。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering
SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
<hibernate-reverse-engineering>
<table name="orders" schema="public">
<primary-key>
<!-- setting up a specific id generator for a table -->
<generator class="sequence">
<param name="sequence">ORDERS_ORDER_ID_seq</param>
</generator>
</primary-key>
</table>
</hibernate-reverse-engineering>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9217 次 |
最近记录: |