不幸的是,Postgresql JDBC驱动程序选择了一种表示非JDBC标准类型代码的方式。他们只是将它们全部映射到Types.OTHER。简而言之,您需要启用特殊的Hibernate类型映射来处理UUID映射(到特定于postgres的uuid数据类型的列):
或更简洁地:
另一个(更好)的选择是将org.hibernate.type.PostgresUUIDType注册为所有以java.util.UUID公开的属性的默认Hibernate类型映射。文档@http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types- registry中对此进行了介绍