假设您有以下实体:
@Entity
public class Game {
@Id
@GeneratedValue
private Integer id;
private String name;
private Calendar startTime;
private int durationInSeconds;
public GameStatus getStatus() {
if( startTime.after(Calendar.getInstance()))
{
return GameStatus.SCHEDULED;
} else {
Calendar endTime = Calendar.getInstance();
endTime.setTime(startTime.getTime());
endTime.roll(Calendar.SECOND, durationInSeconds);
if( endTime.after(Calendar.getInstance())) {
return GameStatus.OPEN_FOR_PLAY;
}
else {
return GameStatus.FINISHED;
}
}
}
}
如果我的`GameRepository`是一个`PagingAndSortingRepository`,我该如何获取按`status`属性排序的结果页?当前情况:
java.lang.IllegalArgumentException: Unable to locate Attribute with the the
given name [status] on this ManagedType [org.test.model.Game]
我可以理解这一点,因为status
确实不是JPA属性。是否有什么方法可以绕过这个问题呢?
(我正在使用Hibernate,所以任何基于Hibernate的特定方法也可以)