我正试图在我的项目中使用hibernate搜索来实现搜索功能,这是在spring boot中。
我使用了hibernate搜索注解,如 @Indexed
, @Field
.
当我使用id字段的数据类型为Long时,就会进行搜索并返回结果列表,但在我的项目中,UUID被用作id字段的数据类型,这也是主键,在UUID的情况下,结果是一个空列表。
@Id
@GeneratedValue
private UUID id;
我如何使用UUID作为id字段的数据类型来执行搜索操作?
请使用以下代码
@Id
@Type(type = "uuid-char") // add column type
@GeneratedValue
@Column(name = "id")
您需要添加 @Type 如果您使用uuid作为数据类型,则ID列的数据类型为
希望对你有帮助 谢谢
是的,你可以使用 UUID
作为文档ID,这样就可以正常工作了。
如果你没有得到任何结果。
qb.all().createQuery()
. 如果你用该查询得到结果,问题出在你的初始查询上,而不是你的标识符。你可以应用 @sridhar-karuppusamy的建议。但只有当你希望数据库类型是 VARCHAR
而不是 VARBINARY
. 而这与Hibernate搜索无关。