java - 在 hibernate 中创建内部查询

标签 java hibernate

如何在 Hibernate 的内部查询中添加一个 set parameter() 方法?

我试过这样做但是已经有错误了

这是我的代码

Query query=session.createQuery("select eq.euipmentName,eq.type from Euipment eq where eq.id in(select euipment from Quotation qt where qt. supQuotation=:ids)");          
query.setParameter("ids",id);
list = (List<Euipment>)query.list();

最佳答案

我已经对您的查询做了一些更正: 1.夸脱。 supQuotation 有一个空格,我已经删除了 2. 你子查询中的设备没有别名,我加qt

String hql = 
    "select eq.euipmentName,eq.type " +
    " from Euipment eq " +
    " where eq.id in (select qt.euipment from Quotation qt where qt.supQuotation = :ids)";

Query query = session.createQuery(hql);          
query.setParameter("ids",id);
list = (List<Euipment>)query.list();

告诉我,如果可以

如果不行,请把错误贴在这里,并检查你的classes有没有放入hibernate映射文件

关于java - 在 hibernate 中创建内部查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18380437/

相关文章:

java - 使用mybatis查询db记录列表导致: An unexpected token "IN" was found following

java - 保存子数据时传递的分离实体持久化

java - 如何在 Hibernate 中动态设置@Column 名称

java - 如何在mockito中模拟enum.values()

java - Joda-Time 库指定 mili 秒精度

java - 由于某些奇怪的原因,我无法运行我的 JPA 代码.. "The length cannot be negative."

java - 打印出从 Java 接收到的字节到 C

java - 如何通过关联链接实体映射两个实体

java - 如何在 Spring Boot 中正确指定数据库模式?

java - hibernate 条件来获取记录?