gpt4 book ai didi

sql - JPA entitymanager 运行 native sql 查询以从表中获取所有内容

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:21 26 4
gpt4 key购买 nike

我需要做的是运行一段本地 sql 查询来选择所有内容并获取从特定表中取出数据。

我的应用程序是一个基于 spring hibernate 的网络应用程序。这是我的代码:

DAO服务实现:

@Service
public class ItemServiceImpl implements ItemService {

@PersistenceContext
EntityManager em;

@Transactional
public void addItem(Item item) {
em.persist(item);
}

@Transactional
public List<Item> iosADVsearchResults(String itemCode) {
//run native query with jpa
List<Item> itemList = (List<Item>)em.createQuery("SELECT * FROM item itemcode='" + itemCode + "'")
.getResultList();
return itemList;
}
}

但我最终得到的是这个错误:

HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: = near line 1, column 35 [SELECT itemcode FROM item itemcode='ll3369']

我正在学习本教程:http://www.oracle.com/technetwork/articles/vasiliev-jpql-087123.html

请帮忙,任何代码示例都会有所帮助。

最佳答案

如果您使用 JPA,您获取所有记录的查询应该是这样的:

List<Item> itemList = (List<Item>) em.createQuery("SELECT i FROM item where  itemcode=?1)
.setParameter(1, itemcode)
.getResultList();

这将返回所有与参数 itemcode 匹配的记录..

关于sql - JPA entitymanager 运行 native sql 查询以从表中获取所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623475/

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