audioop.ulaw2lin(fragment, width)
我尝试了以下JPA查询,但结果空了。
SELECT * FROM vnfconfigdetails where vnfid='1234' and (creationdate >= '2018-07-12' and creationdate <= '2018-07-15');
ShowSQL查询-
@Query(value= " SELECT * FROM vnfconfigdetails where (creationdate >= :startDate AND creationdate <= :endDate ) AND vnfid =:vnfid", nativeQuery = true)
List<VnfConfigDetailsDB> findByVnfidAndCreationdate(@Param("vnfid") String vnfid,@Param("startDate") Date startDate, @Param("endDate")Date endDate);
答案 0 :(得分:0)
这应该有效。
List<VnfConfigDetailsDB> findByVnfidAndCreationdateBetween(String vnfid, Date startDate, Date endDate)
您不需要@Query
。当您说出“之间”时,sping-data将正确制定查询条件。
答案 1 :(得分:0)
在您的情况下,您使用本机查询。这不是JPQL,因此您必须进行一些更改。
请勿在方法中使用参数的@Param开头:请删除@Param(“ vnfid”),@ Param(“ startDate”)和@Param(“ endDate”)。
将所有:paramName替换为?。例如,在查询内部将:startDate替换为?NumberOfParam,以此类推:
@Query(value= " SELECT * FROM vnfconfigdetails where (creationdate >= ?2 AND creationdate <= ?3 ) AND vnfid =?1", nativeQuery = true)
List<VnfConfigDetailsDB> findByVnfidAndCreationdate(String vnfid,Date startDate, Date endDate);
如果要使用JPQL,则必须删除nativeQuery = true,查询将如下所示:
@Query(value= " SELECT v FROM VnfConfigDetailsDB v where (v.creationdate >= :startDate AND v.creationdate <= :endDate ) AND v.vnfid =:vnfid")
List<VnfConfigDetailsDB> findByVnfidAndCreationdate(@Param("vnfid") String vnfid,@Param("startDate") Date startDate, @Param("endDate")Date endDate);
答案 2 :(得分:0)
删除@Param
@Query(value = "SELECT * FROM vnfconfigdetails where (creationdate >= ?2 AND creationdate <= ?3 ) AND vnfid =?1", nativeQuery = true)
List<VnfConfigDetailsDB> findByVnfidAndCreationdateBetween(String vnfid, Date startDate, Date endDate);
在实体类中添加时间注释。必须为java.util.Date和java.util.Calendar类型的持久字段或属性指定此批注。只能为这些类型的字段或属性指定。
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "creationdate", columnDefinition = "DATETIME")
private Date creationdate;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "lastupdated", columnDefinition = "DATETIME")
private Date lastupdated;