【发布时间】:2020-07-03 19:46:38
【问题描述】:
我正在尝试使用 jpql 更新名为 endDate 的变量,该变量属于 LocalDate 类型。我的查询如下:
@Modifying
@Query("UPDATE TeamEntity t SET t.coach.endDate = ?2 WHERE t.coach.id = ?1")
public void updateCoachEndDate(long coachId, LocalDate endDate);
TeamEntity 类的一部分如下
@Entity
public class TeamEntity{
@ManyToOne
@JoinColumn(name = "coach_id", nullable = true)
private CoachEntity coach;
}
CoachEntity 类的一部分如下
@Entity
public class CoachEntity{
@Id
private long id;
private LocalDate endDate
}
当我对其进行测试时,它似乎不喜欢
r.coach.endDate = ?2
它给了我以下错误
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "UPDATE Team CROSS[*] JOIN SET END_DATE=? WHERE COACH_ID=? "; expected "., AS, SET"; SQL statement:
update team cross join set end_date=? where coach_id=? [42001-199]
我只是想知道是否有人知道如何解决此错误。
【问题讨论】: