完整错误日志:
2019-09-20 08:35:37.860信息1 --- [nio-8081-exec-1] o.a.c.c.C. [Tomcat-1]。[localhost]。[/]:初始化Spring DispatcherServlet'dispatcherServlet'
2019-09-20 08:47:29.726错误1 --- [nio-8081-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper:HOUR_OF_DAY:2-> 3
2019-09-20 08:47:29.769错误1 --- [nio-8081-exec-5] o.a.c.c.C。[。[。[/]。[dispatcherServlet]:的Servlet.service() 路径[]中的servlet [dispatcherServlet]抛出异常 [请求处理失败;嵌套异常为 org.springframework.orm.jpa.JpaSystemException:无法执行 查询嵌套异常为 org.hibernate.exception.GenericJDBCException:无法执行查询] 根本原因
java.lang.IllegalArgumentException:HOUR_OF_DAY:2-> 3
at java.base / java.util.GregorianCalendar.computeTime(未知来源) 〜[na:na]
在java.base / java.util.Calendar.updateTime(未知来源)〜[na:na]
at java.base / java.util.Calendar.getTimeInMillis(未知来源) 〜[na:na]
此问题已在Java level上解决,但是如何在 mysql 级别上避免它。
实际上,查询甚至没有日期或时间。
@Query("select o from Order o where o.tickets is not null")
List<Order> ordersWithExistingTickets();
Order.java
@Entity
@Data
@Table(name="orders")
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "PK")
private Long pk;
@Column(name = "createdTS")
private ZonedDateTime creationTime;
@Column(name = "tickets")
private String tickets;
public String getTickets() {
return tickets;
}
public void setTickets(String tickets) {
this.tickets = tickets;
}}
OrderRepository.java
@Repository
public interface OrderRepository extends JpaRepository<Order, Long> {
@Query("select o from Order o where o.tickets is not null")
List<Order> ordersWithExistingTickets();
}