Hibernate Hibnernate反向工程java.Date到sql.Date
在逆向工程过程中,我需要将日期对象的类型更改为SQL日期,为此我添加了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-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>