Надеюсь, у вас все хорошо.
Сейчас я работаю над проектом в JAVA, в котором используются Spring Framework и Репозитории JPA .
Как обычно, я пытаюсь получить информацию из таблицы, используя следующий JPA метод:
Optional<Car> = findByNameAndModelDtIsLessThanEqual(String name, Java.sql.Date modelDt);
Если сущность Автомобиль имеет следующее определение:
@Entity
@Table(name = "car")
public class Car{
@Id
@Column(name = "car_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer carId;
@Column(name = "name")
private String name;
@Column(name = "model_dt")
private Date modelDt;
//Getters and Setters
}
, когда я отлаживаю код, аргумент в методе:
name: "VW"
modelDT: '2020-03-02'
Однако JPA запрос не работает, потому что в базе данных появляется поле model_dt с форматом "dd-MON-yy" ("02-MAR-20" ) и java.sql.Date
имеет другой формат ( "гггг-мм-дд" ).
Я попытался заменить java.sql.Date
modelDt по String modelDt в хранилище определений (с намерением использовать SimpleDateFormat
класс), однако, это не сработало таким образом.
I хотел бы знать, если есть один способ pare Dates от JPA (я бы хотел избежать использования JPQL).
Кто-нибудь знает, как я могу решить эту проблему.
С уважением.