gpt4 book ai didi

java - PostgreSQL 错误,类型 Java_Object 不存在

转载 作者:行者123 更新时间:2023-12-01 12:32:19 24 4
gpt4 key购买 nike

我正在使用 PostgreSQL 和 SQL PowerArchitect 来设计物理数据模型。由于我使用的是Hibernate,它可以直接将Java对象持久化到数据库中,因此我想到使用Java_Object作为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 负责 the object type to database column type mapping .

您需要 FK 来建立这些关系:

  • 产品标签,
  • 产品_类别

可能还有这个的日期/时间/时间戳:

  • 产品发货时间

JAVA_OBJECT 用于存储 Java Class 对象,而不是 Java Object 实例!

检查org.hibernate.type.descriptor.sql.JdbcTypeJavaClassMappings :

jdbcJavaClassMappings.put( Class.class, Types.JAVA_OBJECT );

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

关于java - PostgreSQL 错误,类型 Java_Object 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com