猿问

时间戳的休眠搜索查询返回空列表

我正在使用 Hibernate 进行 Spring Boot 项目,并且正在尝试从 SQL 数据库中映射时间戳。针对字符串或数字的其他查询工作正常,因此问题不应该是项目结构本身。


我的 User.java 类的片段:


@Indexed

@Entity


public class User {

  @Id

  @GeneratedValue(strategy=GenerationType.AUTO)

  private Integer id;


  @Field

  @Basic

  private java.sql.Timestamp datum;


  public java.sql.Timestamp getDatum() {

    return datum;

  }

}

我的搜索服务的片段:


FullTextEntityManager fullTextEntityManager =

    org.hibernate.search.jpa.Search.

    getFullTextEntityManager(entityManager);


QueryBuilder queryBuilder =

    fullTextEntityManager.getSearchFactory()

    .buildQueryBuilder().forEntity(User.class).get();


org.apache.lucene.search.Query query =

        queryBuilder.range().onField("datum")

          .below(java.sql.Timestamp.valueOf("1980-02-01 11:02:20.000")).createQuery();


org.hibernate.search.jpa.FullTextQuery jpaQuery =

    fullTextEntityManager.createFullTextQuery(query, User.class);


@SuppressWarnings("unchecked")

List<User> results = (List<User>) jpaQuery.getResultList();


return results;


慕运维8079593
浏览 93回答 1
1回答

慕斯709654

你可以只使用 SpringJPA 不?所以它只是一个接口@Repositorypublic interface YourModelRepository extends JpaRepository<YourModel, Integer>{&nbsp; &nbsp; &nbsp; &nbsp; List<YourModel> findByDatumGreaterThan(LocalDatetime datum);}让 JPA 的接口来处理它。这是spring jpa 参考表。
随时随地看视频慕课网APP

相关分类

Java
我要回答