班级代码:
@Entity
public class Player {
@Id
private Long id;
private String name;
private String title;
@Enumerated(EnumType.STRING)
private Race race;
@Enumerated(EnumType.STRING)
private Profession profession;
private Integer experience;
private Integer level;
private Integer untilNextLevel;
private Date birthday; // проблемное поле
private Boolean banned;
PlayerService
if (minExperience != null) {
playerSpecification.add(new SearchCriteria("experience", minExperience, SearchOperation.GREATER_THAN_EQUAL));
}
if (maxExperience != null) {
playerSpecification.add(new SearchCriteria("experience", maxExperience, SearchOperation.LESS_THAN_EQUAL));
}
// TODO скорректировать вызов, чтобы не возникало исключения
if (after != null) {
playerSpecification.add(new SearchCriteria("birthday", new Date(), SearchOperation.GREATER_THAN_EQUAL));
}
我得到一个例外
org.springframework.web.util.NestedServletException:
Request processing failed; nested exception is
org.springframework.dao.InvalidDataAccessApiUsageException:
Parameter value [Thu Jul 28 07:21:00 MSK 2022] did not match expected type [java.util.Date (n/a)]
我不太明白为什么会发生。问题是在 SearchCriteria 中传输了对象,而我传输了对象 Date。然后内部发生了一些神奇的变化,然后它将这个日期转换为文本,然后再次尝试转换为日期。而重新转换为约会的那一刻,他无法做到这一点。
问题措辞不正确。这是我的课
我最初认为它是从接口继承的某种类。任何对象都可以存储在“过滤器值”字段中。此外,该类的实例用于通过 CriteriaBuilder 构建 Predicate 在那一刻有一个门框代替
我应该这样写
感谢所有回复的人。