Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate Hibnernate反向工程java.Date到sql.Date_Hibernate_Hibernate Mapping_Reverse Engineering_Hibernate Tools - Fatal编程技术网

Hibernate Hibnernate反向工程java.Date到sql.Date

Hibernate Hibnernate反向工程java.Date到sql.Date,hibernate,hibernate-mapping,reverse-engineering,hibernate-tools,Hibernate,Hibernate Mapping,Reverse Engineering,Hibernate Tools,在逆向工程过程中,我需要将日期对象的类型更改为SQL日期,为此我添加了 <sql-type jdbc-type="DATE" hibernate-type="java.sql.Date"> </sql-type> 但当我将日期映射到字符串时,似乎映射正在工作 <sql-type jdbc-type="DATE" hibernate-type="java.lang.String"> </sql-type> 我不知道我的映

在逆向工程过程中,我需要将日期对象的类型更改为SQL日期,为此我添加了

<sql-type jdbc-type="DATE" hibernate-type="java.sql.Date">      </sql-type>
但当我将日期映射到字符串时,似乎映射正在工作

<sql-type jdbc-type="DATE" hibernate-type="java.lang.String">       </sql-type>


我不知道我的映射有什么问题,如果我错了,请纠正我。

我通过扩展pojoFields.ftl文件解决了这个问题。hibernate在反向工程过程中使用pojoFields.ftl文件来生成java类的java字段

以下是pojoFields.ftl中所做的更改


/**
${pojo.getFieldJavaDoc(字段,0)}
*/
${pojo.getFieldModifiers(field)}java.sql.Date${field.name}=${pojo.getFieldInitialization(field,jdk5)};
${pojo.getFieldModifiers(field)}${pojo.getJavaTypeName(field,jdk5)}${field.name}=${pojo.getFieldInitialization(field,jdk5)};

请添加您的pojo和映射文件?还有一点让我感到困惑,据我所知,您正试图将日期数据(oracle DB类型)转换为java.sql.DATE,这就是您想要做的吗?让我解释一下我的要求,我有一个列类型为DATE的表。我正在使用POJOExporter以上述DB配置生成POJO类,POJO正在生成。但是在我的POJO中,日期字段被导入为java.util.date,我希望日期为java.sql.date。所以在我的reveng xml中,我已经将java.util.date映射到java.sql.date,但不起作用。希望您清楚。
<sql-type jdbc-type="DATE" hibernate-type="java.lang.String">       </sql-type>
<#foreach field in pojo.getAllPropertiesIterator()>
<#if pojo.getMetaAttribAsBool(field, "gen-property", true)>
<#if pojo.hasMetaAttribute(field, "field-description")>    /**
${pojo.getFieldJavaDoc(field, 0)}
*/
</#if>
<#assign javaType = pojo.getJavaTypeName(field, jdk5)>
<#if javaType?has_content && javaType == "Date" >
${pojo.getFieldModifiers(field)} java.sql.Date ${field.name}<#if pojo.hasFieldInitializor(field, jdk5)> = ${pojo.getFieldInitialization(field, jdk5)}</#if>;
<#else>
${pojo.getFieldModifiers(field)} ${pojo.getJavaTypeName(field, jdk5)} ${field.name}<#if pojo.hasFieldInitializor(field, jdk5)> = ${pojo.getFieldInitialization(field, jdk5)}</#if>;
</#if>
    </#if>
</#foreach>