私はバネデータjpaを使用しており、動的クエリを生成するために私はバネデータJPA仕様を使用しています。 Date型の横に正しく表示されます。私は次の例外を受け取ります:バネデータjpa日付型パラメータの動的クエリが機能しません
Parameter value [2017-06-01] did not match expected type [java.time.LocalDate (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [2017-06-01] did not match expected type [java.time.LocalDate (n/a)]]
しかし、私が渡すパラメータ値はjava.util.Date型です。理由は何でしょうか?ここで
private String name;
@Column(name = "user_id")
private Long userId;
@Column(name = "version_id")
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long versionId;
@Column(name = "created_date")
private LocalDate createdDate;
これは例外の下にスロー
public ViewDetailSpecificationsBuilder createSearchSpecifications(ViewSearch view) {
ViewDetailSpecificationsBuilder builder = new ViewDetailSpecificationsBuilder();
if (StringUtils.isNotBlank(view.getName())) {
builder.with("name", Operation.DEFAULT, view.getName());
}
if (view.getStartDate() != null) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse(view.getStartDate(), formatter);
builder.with("createdDate", Operation.GREATHERTHANEQUALTO, date);
}
if (view.getVersion() != null) {
builder.with("version", Operation.DEFAULT, view.getVersion());
}
return builder;
}
である:ここで
は私の実体である私は、フォーマットした場合org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [Thu%Jun%01%00:00:00%AMT%2017] did not match expected type [java.util.Date (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [Thu%Jun%01%00:00:00%AMT%2017] did not match expected type [java.util.Date (n/a)]
たstartDate(formatter.format(たstartDate))、それを上記の例外をスローします。
を渡しているが多くのコードを示しています。具体的には、値 – ACV