簡體   English   中英

休眠搜索查詢的時間戳返回空列表

[英]Hibernate Search Query for timestamp returns empty list

我正在使用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;

您可以只使用SpringJPA嗎?

因此,它將只是一個接口

@Repository
public interface YourModelRepository extends JpaRepository<YourModel, Integer>{
        List<YourModel> findByDatumGreaterThan(LocalDatetime datum);
}

讓JPA的界面來處理它。

這是spring jpa參考表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM