当前位置: 首页 > 知识库问答 >
问题:

我的JPQL查询有什么问题?

阎功
2023-03-14

我试图实现连接,但我面临错误。我有产品表和商店表。产品表引用通过外键存储表,如下所示:

产品JAVA

@Entity
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long pId;
    private String model;
    private String brand;
    private byte[] image;
    private Long price;
    private String currency;
    private String transmissionType;
    private String fuelType;

    @ManyToOne
    @JoinColumn(name="storeId")
    private Store store;

    // … getters and setters
}

现在,我展示tore.java

@Entity
public class Store {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long storeId;
    private String locality;
    private String city;
    private String state;
    private String zipCode;
    private String phone;

    // … getters and setters
}

现在,我展示仓库

public interface ProductRepo extends JpaRepository<Product, Long> {     

    @Query("select p from Product p join p.storeId s where p.storeId = s.storeId and s.city = :city")
    public List<Product> findByCity(@Param("city") String city);

    @Query("select p from Product p join p.storeId s where p.storeId = s.storeId and s.state = :state")
    public List<Product> findByState(@Param("state")  String state);
}

现在,这个错误是因为我在最后两个查询中实现了join。我想做的是购买所有商店位于特定城市或州的产品,如上图所示。

我遇到的错误是:

启动应用程序上下文时出错。要显示自动配置报告,请在启用调试的情况下重新运行应用程序。2016-10-16 09:53:25.203ERROR 16132 --- [ main]o.s.boot.SpringApplication:应用程序启动失败

org.springframework.beans.factory.未满足依赖异常:创建名为“catalogueServiceController”的bean时出错:通过字段“productRepo”表示的未满足依赖项;嵌套异常org.springframework.beans.factory.BeanCreation异常:创建名为“productRepo”的bean时出错:初始化方法调用失败;嵌套异常是java.lang.IllegalArgument异常:方法公共抽象java.util.Listcom.practice.rest.assignment1.repository.ProductRepo.findByCity(java.lang.字符串)!等等的查询验证失败......

我的查询有什么错误?

暂时还没有答案

 类似资料:
  • 1.在中可以使用哪些选项来创建查询?我看到和,但不确定是否还有其他选项? 2.原生查询和JPQL之间有什么区别?我刚刚意识到使用类名,例如ProductCategory,而本机使用表名,例如product_category。还有其他区别吗?

  • 我是GraphQL的新手,我正试图做一个突变来从我的数据库中删除一篇文章,但我不知道如何删除。我使用Node.js,猫鼬和GraphQL。 这是我的模式的变异。 这是我在调用API删除文章时使用的查询。 我做错了什么? 我收到一个错误的400请求。消息:“无法查询类型为“变异”的字段“删除”

  • 问题内容: 我正在尝试在托管bean中进行更新查询。这是代码: 我看到参数设置正确,好像查询中有错误。它进入捕获块。另外,我不知道如何查看堆栈跟踪,e.printStackTrace在这里不起作用,我怎么看?可以帮忙吗? 谢谢 问题答案: 尝试使用executeUpdate而不是executeQuery。我在执行数据库更新时看到了executeQuery的奇怪问题。

  • 下面是运行此查询时得到的异常消息。请告诉我是什么错误? 查询: 例外情况: 我有两个实体:TagEntity和TagFavoriteEntity。他们之间没有关系。它们之间只有一个共同的属性“tagid”,它也是TagEntity类的主键。

  • 我只是想知道是否可以创建一个JQPL查询,该查询将对表进行处理,并选择所有记录,这些记录至少与我传递给查询的对象的y个属性中的x个ouf匹配。假设汽车对象有5个属性:maxSpeed、weight、Colory、power、type,然后我想查询一个数据库,以获得所有至少有2个属性与我传递给查询的汽车相同的汽车(不是实际的汽车--只是它的属性)。我找不到任何东西,所以我只是获取至少有一个属性匹配的

  • 我有2个实体(这只是一个简化的例子,不是真正的实体): 当我尝试使用order By编写查询时,Hibernate崩溃: 原因:java.sql.SqlSyntaxerRoreXception:ORA-01791:不是选定的表达式