[英]How to connect to mysql database using Spring, Hibernate, EntityManager and JPA
[英]How to add date in mysql database from Hibernate/Spring Jpa
我使用 spring 引導,我想將 1 年添加到 mysql 數據庫中的特定列
String queryRecherche = "UPDATE myTable t SET t.dateDebut = DATE_ADD(t.dateDebut, INTERVAL 1 YEAR) WHERE.id = 3 ";
Query query = em.createQuery(queryRecherche);;
query.executeUpdate();
但我收到以下錯誤:
org.hibernate.query.sqm.ParsingException: line 1:66 no viable alternative at input 'DATE_ADD(t.dateDebut,INTERVAL1'
你有什么建議嗎?
您使用的是 Hibernate 6(我可以通過錯誤消息判斷),因此要使用的正確 HQL 語法是:
UPDATE MyEntity t SET t.dateDebut = t.dateDebut + 1 year WHERE t.id = 3
您的查詢中出現了三個錯誤:
UPDATE
子句中引用了表的名稱而不是實體的名稱 class 。DATE_ADD
function 而不是此處描述的可移植 HQL 日期/時間算法。WHERE
子句的語法是亂碼。 也許你的意思是這是一個原生的 SQL 查詢,在這種情況下你調用了錯誤的方法Session
。 但是上面的查詢不需要使用原生的 SQL。 如您所見,HQL 完全能夠表達該查詢。
您可以通過 createNativeQuery 直接使用 SQL,或注冊一個新的 function,如本例所示,以從 HQL 調用它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.