【发布时间】:2020-07-06 17:27:33
【问题描述】:
假设我需要在数据库中保留一些数据,其中一列是 request_id,这是我的应用程序创建的随机 uuid。
首先,我在 DDL 创建 H2 和 SQL Server 数据库的语句中应该使用什么类型?我将 H2 用于本地,将 sql server 用于生产。
CREATE TABLE REQUESTS_DETAILS
(
REQUEST_ID --what should be the type for H2 and SQLServer?
NAME NVARCHAR(20) NOT NULL,
);
其次,使用Spring JPA Entity对应的java类型是什么?
【问题讨论】:
-
对于 H2(和 Postgres),它是
UUID。使用 SQL Server,我认为是uniqueidentifier。 -
@chrylis-cautiouslyoptimistic- 这适用于 JPA 吗? JPA Entity 上的哪种类型可以处理 dbs 之间的差异
-
只需使用
java.util.UUID。 Hibernate 至少可以毫无问题地将其映射到本机数据库类型。 -
@chrylis-cautiouslyoptimistic- 实际上并没有。当 H2 上的 java.util.UUID 是直接实体属性时,Hibernate 似乎不一致地将其映射到 UUID,但当它是嵌入式属性时,它会映射到 BINARY。
标签: java spring database jpa h2