gpt4 book ai didi

java - Spring Boot API 标准多次返回

转载 作者:行者123 更新时间:2023-11-29 11:58:57 26 4
gpt4 key购买 nike

我从 Spring Boot 和 JPA 2.0 开始。我的 api 从具有单个记录的 mysql 数据库运行查询。由于某种原因,API 不断返回查询结果集。

有趣的是,如果我返回 Vector 的大小,它就可以正常工作,但是当我返回 List<> 时,它会多次运行相同的代码。

我怀疑我可能必须设置一些标志来停止连接或其他东西。有什么想法可能导致这种情况吗?

//controller
@RestController
public class ClientController {


@RequestMapping("/client")
public List<Client> client(@RequestParam(value="name", defaultValue="World") String name) {

Client clientModel = new Client();
List<Client> clients = clientModel.getClients();

//return clients.size();
return clients;


}
}





//model
public List<Client> getClients() {

try {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("CRM");
EntityManager em = emf.createEntityManager();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Client> q = cb.createQuery(Client.class);
Root<Client> c = q.from(Client.class);
q.select(c);
List<Client> clients = em.createQuery(q).getResultList();
// ArrayList<Client> clients = (ArrayList<Client>) q.select(c);
em.close();
emf.close();

return clients;
} catch (Exception e) {
throw e;
}
}

最佳答案

没有找到问题的根本原因,但找到了解决方案。在第一个版本中,我在定义客户端 @entity 的同一类中实现查询。我创建了一个不同的类“ClientRepository”并将查询移入其中。问题停止了。

我猜 JPA 不喜欢这样......

关于java - Spring Boot API 标准多次返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com