PostgreSQL错误,类型Java\u对象不存在

PostgreSQL错误,类型Java\u对象不存在,java,hibernate,postgresql,jpa,hibernate-mapping,Java,Hibernate,Postgresql,Jpa,Hibernate Mapping,我正在使用PostgreSQL和SQL PowerArchitect设计一个物理数据模型。由于我正在使用Hibernate,它可以直接将Java对象持久化到数据库中,所以我考虑使用Java_对象作为SQL PowerArchitect中的类型。当我执行查询时,我得到了这个错误。请让我知道,如果类型实际上不存在于PostgreSQL中,或者我犯了一些错误。通过谷歌搜索,我找不到该数据类型的许多引用 CREATE TABLE public.Product_Info (

我正在使用PostgreSQL和SQL PowerArchitect设计一个物理数据模型。由于我正在使用Hibernate,它可以直接将Java对象持久化到数据库中,所以我考虑使用Java_对象作为SQL PowerArchitect中的类型。当我执行查询时,我得到了这个错误。请让我知道,如果类型实际上不存在于PostgreSQL中,或者我犯了一些错误。通过谷歌搜索,我找不到该数据类型的许多引用

CREATE TABLE public.Product_Info (
                productinfoid VARCHAR NOT NULL DEFAULT nextval('public.product_info_productinfoid_seq'),
                productbasic VARCHAR NOT NULL,
                Product_Tags JAVA_OBJECT,
                Product_Categories JAVA_OBJECT,
                Product_Ship_Time JAVA_OBJECT,
                CONSTRAINT productinfoid PRIMARY KEY (productinfoid, productbasic)
)

INFO  15-09 10:12:04,300 - sql statement failed: ERROR: type "java_object" does not exist

创建表时,需要使用数据库支持的列类型,如:CHAR、VARCHAR NUMERIC、BLOB等

Hibernate负责管理服务器

这些关系需要FKs:

  • 产品标签
  • 产品类别
可能还有这个的日期/时间/时间戳:

  • 产品装运时间
JAVA\u对象
用于存储JAVA
Class
对象,而不是JAVA
OBJECT
实例

检查:


因此,当从数据库列(例如VARCHAR)中获取类对象类型时,此类型将非常有用。

我使用的是postgresql-9.3-1102.jdbc41驱动程序。
java\u对象
不是Postgres中的数据类型(所有数据类型都记录在此处:)。为什么要将完整(序列化)对象存储为数据库中的单个列。这几乎总是个坏主意。对不起,我不明白你的意思。我的问题是,PostgresSQL不支持Java_对象吗?我知道hibernate可以解决这个问题,但是通过直接持久化对象,它会使我的一些任务变得更简单。这就是问题所在。
jdbcJavaClassMappings.put( Class.class, Types.JAVA_OBJECT );