У меня есть Spring проект, где я получить доступ к базе данных с использованием Spring Data REST (с использованием http://spring.io/guides/gs/accessing-data-rest/)Получить Макс значение столбца из БД в Hal-Json с использованием Spring Data REST
@RepositoryRestResource(collectionResourceRel = "test", path = "test")
public interface TestRepository extends PagingAndSortingRepository<Test, Long> {
@Query("SELECT max(p.lastUpdatedDate) FROM Test p")
Date findLastUpdatedDate();
}
Когда я пытаюсь получить доступ к Вышеописанный способ, чтобы получить дату MAX с помощью URL Localhost: 8080/тест/поиск/findLastUpdatedDate, я получаю ошибку
{"cause":null,"message":"Cannot create self link for class java.sql.Timestamp! No persistent entity found!"}
Пожалуйста, подсказывают, как я могу получить максимальную lastUpdatedDate из таблицы Test. Благодаря!
Вот мой тест класс:
@Entity
@Table(name="test")
public class Test implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String col1;
private String col2;
private String status;
@Column(name = "last_updated_date")
private Date lastUpdatedDate;
// getters, setters, hashcode, equals, toString methods are written
}
Вам действительно нужно вернуть тип даты из репозитория? Можете избежать ошибки, если вы вернете тип теста и просто прочитаете его lastUpdatedDate вместо –
Мне нужен тип даты из репозитория (вывод, который мы получаем при запуске select max (last_updated_date) из теста: что-то вроде 2014-11-20) , Я попытался вернуть тестовый тип из репозитория, и, поскольку существует более 1 строка с максимальной датой в 2014-11-20, она вернула тип List. Но все, что я хотел, это дата MAX. Должен быть более простой способ получить Date из репозитория ... Не знаю, почему сама ссылка HAL-JSON дает эту проблему. Я огляделся вокруг, но не повезло ... –
mona