在逆向工程过程中,我要求将DATE对象的类型更改为SQL Date,为此我添加了
<sql-type jdbc-type="DATE" hibernate-type="java.sql.Date"> </sql-type>
在reveng.xml文件中。
但在我的pojos中,Date类型仍然是java.util.Date。
即使我在方言中添加了相同内容,但没有运气
registerHibernateType(Types.DATE, java.sql.Date.class.getName());
但是当我将Date映射到String时,似乎映射正在运行
<sql-type jdbc-type="DATE" hibernate-type="java.lang.String"> </sql-type>
我的地图没有问题,如果我错了,请纠正我。
答案 0 :(得分:0)
我通过扩展pojoFields.ftl文件解决了这个问题。 hjonate在逆向工程过程中使用pojoFields.ftl文件来生成java类的java字段。
以下是pojoFields.ftl
中所做的更改&lt;# - //字段 - &gt;
<#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>