最近,我在Hibernate 3和Postgres 9中遇到了类似的问题。由于hibernate没有为postgres中的String
Array提供到Java String []的内置映射,因此我最终实现了一个自定义映射类。您可以尝试执行以下步骤。
- 创建实现“ org.hibernate.usertype.UserType”的自定义类“ PgInet”(根据我的hibernate 3知识,此UserType类。不确定在Hibernate 4中是否已更改)。
下面的方法实现至关重要。
- 等于
- nullSafeGet
- nullSafeSet
- returnClass返回InetAddress.class;
- sqlTypes返回新的int [] {java.sql.Types。}
完成上述操作后,我们只需要将HBM.xml中的属性类型设置为此类,即PgInet。
对于自定义类实现,请尝试参考现有的类型实现类。您应该能够找到类文件。使用下面的链接作为参考。
http://greppre.com/file/repo1.maven.org/maven2/hibernate/hibernate/2.1.8/net/sf/hibernate/type/ArrayType.java
希望这可以帮助。
谢谢。



