PostgreSQL错误,类型Java\u对象不存在
我正在使用PostgreSQL和SQL PowerArchitect设计一个物理数据模型。由于我正在使用Hibernate,它可以直接将Java对象持久化到数据库中,所以我考虑使用Java_对象作为SQL PowerArchitect中的类型。当我执行查询时,我得到了这个错误。请让我知道,如果类型实际上不存在于PostgreSQL中,或者我犯了一些错误。通过谷歌搜索,我找不到该数据类型的许多引用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 (
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对象
用于存储JAVAClass
对象,而不是JAVAOBJECT
实例
检查:
因此,当从数据库列(例如VARCHAR)中获取类对象类型时,此类型将非常有用。我使用的是postgresql-9.3-1102.jdbc41驱动程序。
java\u对象
不是Postgres中的数据类型(所有数据类型都记录在此处:)。为什么要将完整(序列化)对象存储为数据库中的单个列。这几乎总是个坏主意。对不起,我不明白你的意思。我的问题是,PostgresSQL不支持Java_对象吗?我知道hibernate可以解决这个问题,但是通过直接持久化对象,它会使我的一些任务变得更简单。这就是问题所在。
jdbcJavaClassMappings.put( Class.class, Types.JAVA_OBJECT );