我正在oracle db table表列中存储一个值
id VARCHAR2(50 BYTE) NOT NULL
Java代码
@Data
@Entity
@Table(name = "TABLE_TEST_1", schema = "QA")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TestUuid implements Serializable {
@Id
@NotNull
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "ID", nullable = false)
private java.util.UUID id;
要保存我使用一个存储库接口并进行保存
当保存的实体被传递时,我得到的uuid为61adf93b-b76d-4b38-a43a-ffc033ad4cea
,但它在数据库中存储为61ADF93BB76D4B38A43AFFC033AD4CEA
,当我使用JPA进行查找时,它给出了另一个值36314144-4639-3342-4237-364434423338
它使用本机查询正确地检索值
你能告诉我为什么我会注意到异常点吗?
谢谢
1条答案
按热度按时间83qze16e1#
在Oracle中,字段类型必须为RAW(16)。如果你使用liquibase,你可以将type设置为UUID,它将在oracle中被创建为RAW(16)