问题描述
我遇到一个小问题,尝试检索一个int值或String以查找数据库中的Top记录或最后一条记录,具体取决于我想要的内容。 在Spring数据文档中,我发现了以下内容:
Vaccine findTopByOrderByVaccineCodeDesc();
哪个状态很好,但是正在返回疫苗,我不想要整个疫苗对象,例如,我只想要“疫苗代码”。我尝试过这样的事情:
String findTop1ByOrderByVaccineCodeDesc();
但不幸的是,这是错误的!没用但是呢:
@Query("SELECT TOP v.vaccineCode FROM Vaccine v ORDER BY vaccineCode Desc")
String getLastRecordByVaccineCode();
我知道这在语法上是错误的,因为我以错误的方式使用TOP,但是我不知道该怎么做。 有什么建议吗?我真的很感激如何在文档中找到答案或如何阅读文档的提示,我在文档中看起来并不好。
解决方法
您可以使用EntityManager
public String getVaccineCode {
@AutoWired
EntityManager entityManager;
String vaccineCode = (String) entityManager.createQuery("SELECT v.vaccineCode FROM Vaccine v ORDER BY vaccineCode Desc",String.class).getFirstResult());
return vaccineCode;
}