gpt4 book ai didi

java - hibernate hbm2hbmxml

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:57 24 4
gpt4 key购买 nike

我正在尝试使用 ant hibernatetool 任务从 mysql 中的数据库模式生成 hbm.xml 文件。 ant 任务运行没有错误,但没有生成 hbm.xml 文件。我错过了什么......

相关配置如下:

build.xml

<taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="3p-classpath">
</taskdef>

<target name="hbmxmlgen"
description="Creating hbm xml files from DB">
<hibernatetool>
<jdbcconfiguration
configurationfile="src/config/hibernate.cfg.xml"
revengfile="src/config/hibernate.reveng.xml"
detectmanytomany="true">
</jdbcconfiguration>
<hbm2hbmxml destdir="${mappings.dir}"/>
</hibernatetool>
</target>

src/config/hibernate.cfg.xml

<?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>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/?useUnicode=true&characterEncoding=utf8</property>
<property name="connection.username">root</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
</session-factory> </hibernate-configuration>

src/config/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>
<schema-selection match-schema="optimizer_config"/>
<type-mapping>
<sql-type jdbc-type="VARCHAR" hibernate-type="string"/>
<sql-type jdbc-type="NUMERIC" hibernate-type="java.lang.Long" />
<sql-type jdbc-type="INTEGER" hibernate-type="java.lang.Integer" />
<sql-type jdbc-type="DECIMAL" hibernate-type="java.lang.Double" />
</type-mapping>
<table-filter match-name="*" package="com.sokrati.optimizer.dbaccess.optimizerConfig"/>
</hibernate-reverse-engineering>

最佳答案

我遇到了同样的问题,发现以下两点很有用:

  1. 如果您想要所有表,用于匹配名称的正则表达式是“.*”,例如 <table-filter match-name=".*" package="com.sokrati.optimizer.dbaccess.optimizerConfig"/>

  2. 请注意模式名称区分大小写,因此请确保 <schema-selection> 中的大小写正确reveng.xml 中的标记。

关于java - hibernate hbm2hbmxml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/785164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com