【发布时间】:2015-08-26 10:24:46
【问题描述】:
我正在使用 Hibernate 4.3 从 Sql Server 表创建 POJO 类和映射文件。但它正在将所有“nvarchar”字段创建为“Serializable”。我希望它们是“字符串”类型。
在我提到的 reveng.xml 文件中 -
<type-mapping>
<sql-type jdbc-type="NVARCHAR" hibernate-type="string" />
<sql-type jdbc-type="VARCHAR" hibernate-type="string" />
</type-mapping>
但没有帮助。
我的逆向工程文件是 -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd">
<hibernate-reverse-engineering>
<schema-selection match-catalog="Copy_Up-Tourism" match-schema="dbo"/>
<type-mapping>
<sql-type jdbc-type="NVARCHAR" hibernate-type="string" />
<sql-type jdbc-type="VARCHAR" hibernate-type="string" />
</type-mapping>
<table-filter match-name="Contents"/>
<table-filter match-name="CategoryDatas"/>
<table-filter match-name="TileExperience"/>
<table-filter match-name="PushTypes"/>
<table-filter match-name="DestinationDatas"/>
<table-filter match-name="PlaceDatas"/>
<table-filter match-name="EventDatas"/>
<table-filter match-name="YoutubeVideoTag"/>
<table-filter match-name="PushManagers"/>
<table-filter match-name="Activities"/>
<table-filter match-name="Languages"/>
<table-filter match-name="Categories"/>
</hibernate-reverse-engineering>
我在 SO 中尝试了许多解决方案,例如 Link,但没有任何帮助。请帮忙
【问题讨论】:
-
尝试添加VARCHAR
-
是的,我做到了。但没有帮助。请看我的更新
-
这个文件是你手动创建的,还是之前就有的?
-
我使用 Netbeans 中的 Hibernate 逆向工程向导创建了它。然后手动更新文件以包含类型映射。
-
ok 尝试:java.lang.String 代替字符串,并清理/重建项目,maven-> 更新
标签: java sql-server hibernate serialization