Hibernate Search中LocalDate的DateBridge

时间:2019-08-01 21:51:11

标签: java hibernate date search hibernate-search

我正在SpringBoot应用程序中使用Hibernate search 11.5.2.Final。

我正在尝试搜索实体import shutil import os path_a = '/Users/John/Desktop/test_1' path_b ='/Users/John/Desktop/test_2' for root, dirs, files in os.walk(path_b): similar_path = root.replace(path_b, path_a) if os.path.exists(similar_path): for file_path in (os.path.abspath(x) for x in os.listdir(similar_path) if os.path.isfile(x)): print(f'File: {file_path} moved to --->> {root}') shutil.copy(file_path, root) 的字段createdAt

当我运行它时,应用程序退出,并显示类似

的异常
Book

对于类型Unable to create bean for LocalDateBridge 的字段,我也得到相同的异常

我的实体看起来像这样

Long

这是完整堆栈跟踪

@Indexed
@Entity
public class Book {
    @Id 
    private Long id;


    @Field
    @DateBridge(resolution=Resolution.DAY)
    private LocalDate createdAt;

    // Other fields and setters & getters
}

2 个答案:

答案 0 :(得分:0)

尝试删除@DateBridge(resolution=Resolution.DAY):这对于您的情况没有用,因为本地日期的解析日期已经是一天。

该问题可能是由于java.time类型不支持显式解析,而仅对旧版java.util.Date / java.util.Calendar类型(实际上可能有用)不支持。

如果这不能解决问题,请在您的问题中粘贴完整的堆栈跟踪。

答案 1 :(得分:0)

根据您的堆栈跟踪,您正在将String对象传递给查询生成器,而应该使用LocalDate对象,因为您的字段的类型为LocalDate。 将用户提供的字符串解析为LocalDate,然后将该对象传递给查询生成器。