我正在使用 Hibernate 进行 Spring Boot 项目,并且正在尝试从 SQL 数据库中映射时间戳。针对字符串或数字的其他查询工作正常,因此问题不应该是项目结构本身。我的 User.java 类的片段:@Indexed@Entitypublic 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;
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
你可以只使用 SpringJPA 不?
所以它只是一个接口
@Repository
public interface YourModelRepository extends JpaRepository<YourModel, Integer>{
List<YourModel> findByDatumGreaterThan(LocalDatetime datum);
}
让 JPA 的接口来处理它。
这是spring jpa 参考表。
添加回答
举报
0/150
提交
取消