我对 Spring 还很陌生,所以也许我错过了错误的术语,这就是我的搜索没有结果的原因。
我正在寻找的查询应该采用父对象并删除时间戳不是特定日期的所有子对象。
Parent Id field1 field2
Child: Id parentId field 1 timestamp (datetime)
我尝试了几种不同的方法,但似乎没有任何效果。
或者我可以尝试类似的方法:
FindAllChildsByIdAndTimestamp(int id, Date date)
并用数据填充空的父级。但事件帽子不起作用。 知道我做错了什么吗? 最好的,谢谢
最佳答案
你甚至不需要让 parent 参与其中。您需要做的就是在子表上创建一个查询,并在该表上生成一个查询,其中 where 子句为parentId is,timestamp is。您提到您正在使用Spring(顺便说一句,哪个版本?),但没有说您使用什么来访问您的数据库(Spring Data,Hibernate,JPA,JBC?)还有哪个数据库和哪个版本?我将在 Hibernate 中给你举个例子:
sessionFactory.getCurrentSession().createCriteria(Child.class)
.add(Restrictions.eq("parentId", yourParentId))
.add(Restrictions.gt("timestamp", date1))
.add(Restrictions.le("timestamp", date2))
.list();
date1 是当天的午夜,date2 是第二天的午夜。这应该会给你你的 child 的名单
关于java - Spring按日期查询DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246995/