JPA: как сопоставить тип SQL Server uniqueidentifier

я унаследовал базу данных SQL Server, которую я пытаюсь сопоставить через JPA. Многие таблицы имеют

1 ответов


тип данных свойства первичного ключа в POJO определяет тип данных его сопоставленного столбца БД, который задается параметром говор класса. Согласно SQLServerDialect предоставленный hibernate, он не имеет никакого типа данных, который сопоставляется с uniqueidentifier и String по умолчанию сопоставляется с varchar(255)

Я думаю guid стратегии на String первичный ключ означает только, что hibernate будет генерировать значение GUID для первичного ключа POJO свойство и это сгенерированное значение GUID будет вставлено в varchar(255) столбец для имитации эффекта uniqueidentifier

вы можете попытаться переопределить отображение, указанное в говор класс с помощью columnDefinition на @Column

 @Id
 @GenericGenerator(name = "generator", strategy = "guid", parameters = {})
 @GeneratedValue(generator = "generator")
 @Column(name = "APPLICATION_ID" , columnDefinition="uniqueidentifier")
 private String id;