gpt4 book ai didi

java - 我怎样才能使这个查询只使用 JPA(或 Hibernate)API 工作?

转载 作者:行者123 更新时间:2023-11-29 04:30:15 25 4
gpt4 key购买 nike

我的代码中某处有以下方法:

public boolean isFooHere(final Foo foo) {
final Query query = getCurrentSession().createQuery("SELECT COUNT(*) FROM FooBar WHERE foo_id = " + foo.getId());
final long count = (Long) query.uniqueResult();
if (count == 0) {
return false;
} else {
return true;
}
}

但我认为硬编码 SQL 查询不是好的做法。

如何仅使用 JPA API 实现相同的功能?

最佳答案

是这样的。在查询中使用类而不是表名,实体字段而不是列

Query query = getCurrentSession().createQuery(
"select count(*) from Foo f where f.id=:id");
query.setLong("id", foo.getId());
Long count = (Long)query.uniqueResult();

关于java - 我怎样才能使这个查询只使用 JPA(或 Hibernate)API 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44041432/

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