hibernate - 如何在hibernate和jpa中加入uuid列?
问题描述
我使用 UUID 作为我的数据库的主键值。UUID 在 Java 端生成并放置到 PostgreSQL 数据库中,该数据库具有标记为主键的 varchar 列。
我现在正在尝试使用此列在 Hibernate 中加入两个表。我曾经有 int/long 数据类型列,它工作得很好。然后切换到 UUID 并遇到问题。
我的 MailDataSource.java 类。
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "mail_datasource_uuid", updatable = false, nullable = false)
private String mailDataSourceUuid;
我的 Content.java 类应该采用 MailDataSource.java 类中生成的 UUID 并将其存储在列 content_datasource_uuid 中。
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "content_uuid", updatable = false, nullable = false)
private String contentUuid;
@ManyToOne
@JoinColumn(name="content_datasource_uuid")
private Mc360MailDataSource contentDatasourceUuid;
错误:
Field error in object 'content' on field 'contentDatasourceUuid': rejected
value [2d001537-bf43-4b99-a759-1134da8aa1b8]; codes [typeMismatch.content.contentDatasourceUuid,
typeMismatch.contentDatasourceUuid,typeMismatch.com.data.entity.MailDataSource,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable:
codes [content.contentDatasourceUuid,contentDatasourceUuid];
arguments []; default message [contentDatasourceUuid]]; default
message [Failed to convert property value of type 'java.lang.String'
to required type 'com.data.entity.MailDataSource' for property 'contentDatasourceUuid'; nested exception is
org.springframework.core.convert.ConversionFailedException:
Failed to convert from type [java.lang.String] to type [java.lang.Long]
for value '2d001537-bf43-4b99-a759-1134da8aa1b8'; nested exception
is java.lang.NumberFormatException: For input string:
"2d001537-bf43-4b99-a759-1134da8aa1b8"]
请问有什么想法吗?
解决方案
问题来自存储库类。
我有JpaRepository<MailDataSource, Long>
,当它应该是的时候JpaRepository<MailDataSource, String>
推荐阅读
- powerbi - 在 Power BI 服务报表中找不到用于对可视化进行排序的排序选项
- c++ - 使用 ID2D1Device3 的 direct2d 快速入门
- c++ - 为什么不是 jthread::get_stop_source const?
- jquery - Graphileon 代理功能问题
- flutter - 我希望我的身体在 Flutter 中可以滚动
- python - 如何创建一个网站,支持目前在 R 中实施的新的文献计量方法?
- environment-variables - 无法为 gatsby 构建使用自定义环境文件
- node.js - Discord.js ID 踢命令
- java - 任何人都可以在服务器控制台(对于 Minecraft)中解释这些错误的可能原因吗?
- python - 将 django 数据库条目传递到 line messenger api (linebot) 中的消息中