簡體   English   中英

如何修復彈簧數據中的“錯誤:錯誤的DATETIME值:%%”?

[英]How to fix 'ERROR: Incorrect DATETIME value: %%' in spring data?

我有一個頁面,請求具有搜索功能的項目列表。

我只是想指出,這段代碼在我的工作筆記本電腦上工作得很好,並部署在我的實時服務器上,但在我的家用筆記本電腦上,我收到以下錯誤:

WARN  SQL Error: 1525, SQLState: HY000
ERROR Incorrect DATETIME value: '%%'

我在Windows 10上使用帶有1.8 java的Eclipse EE maven項目(spring spring with spring data).MySql默認開發設置。 我在兩台筆記本電腦上都有相同的庫。

回復電話:

findAll(request, "%" + f.getSearchField() + "%");

查詢:

@Query( value = "SELECT cl from ConnectionLog cl WHERE cl.user.login LIKE :search OR cl.user.firstName LIKE :search OR cl.user.lastName LIKE :search OR CONCAT( cl.user.lastName,  ' ', cl.user.firstName ) LIKE :search OR CONCAT( cl.user.firstName,  ' ', cl.user.lastName ) LIKE :search OR cl.lastSeen LIKE :search OR cl.browser LIKE :search OR cl.operatingSystem LIKE :search")
    Page<ConnectionLog> findAll(Pageable pageable, @Param("search") String search);

'lastSeen'字段是DATE列。 模型:

@Column(name = "last_seen")
@Temporal(TemporalType.TIMESTAMP)
@JsonProperty
@JsonSerialize(include = Inclusion.NON_NULL)
private Date lastSeen;

我怎么能做這個工作? 為什么這可以在一台計算機上工作而不在另一台計

我正在回答我自己的問題,因為我畢竟找到了解決方案。 不確定它是否好,但它的工作原理......

我從repo調用中取出'%'並使用CONCAT()和DATE_FORMAT()添加到@Query。

DATE_FORMAT(cl.lastSeen, '%Y %m') LIKE CONCAT('%', DATE_FORMAT(:search, '%Y %m'), '%')

完整查詢:

@Query( value = "SELECT cl from ConnectionLog cl WHERE cl.user.login LIKE CONCAT('%', :search, '%') OR cl.user.firstName LIKE CONCAT('%', :search, '%') OR cl.user.lastName LIKE CONCAT('%', :search, '%') OR CONCAT( cl.user.lastName,  ' ', cl.user.firstName ) LIKE CONCAT('%', :search, '%') OR CONCAT( cl.user.firstName,  ' ', cl.user.lastName ) LIKE CONCAT('%', :search, '%') OR DATE_FORMAT(cl.lastSeen, '%Y %m') LIKE CONCAT('%', DATE_FORMAT(:search, '%Y %m'), '%') OR cl.browser LIKE CONCAT('%', :search, '%') OR cl.operatingSystem LIKE CONCAT('%', :search, '%')")
    Page<ConnectionLog> findAll(Pageable pageable, @Param("search") String search);

暫無
暫無

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

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