Я использую 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, который должен принимать UUID, сгенерированный в классе MailDataSource.java, и хранитьэто в столбце 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"]
Любые идеи, пожалуйста?