java - JPA 相当于此 mySql 查询

标签 java mysql jpa

我想编写一个与此 MySQL 查询等效的 JPA

SELECT status, is_deleted  FROM indent 
WHERE status = "in progress" AND is_deleted = false;

在上面的查询中,statusis_deleted是表的列名和值(这里,对于statusis_deleted ,值分别为inprogressfalse)是变量。

public interface IndentRepository extends JpaRepository<Indent, Long> {

    @Query("SELECT i.status FROM indent i where i.status = 'status AND is_deleted = 'condition")
    List<Indent> getByStatus(String status, boolean condition);

} 

最佳答案

乍一看,您编写查询的方式似乎不正确,因为i.status被分配了一个字符串值,这正是status AND is_deleted =condition 单词对于查询来说是错误的,因为它们不符合 Java 中 String 的规则。

您可以使用namedQueries,它在开发的早期阶段更好、更容易理解。

Here这就是您如何使用namedQueries

关于java - JPA 相当于此 mySql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48095987/

相关文章:

java - Spring Data Repository 与 ORM、EntityManager、@Query,处理自定义 SQL 查询最优雅的方式是什么?

jpa - 具有应用程序管理的持久性上下文的Spring Boot

java - 在 webapp 中显示控制台输出

php - 具有父子关系的不同表的访问控制

hibernate - JPA embeddable 是否可以包含 Embeddable 或 Embeddable 集合?

php - 订购 mysql 查询?

mysql - Tomcat/hibernate 配置

java - 从 Hazelcast map 中删除元素的正确方法是什么?

java - 在 java 中使用 log4j2 jdbc 附加程序自定义日志记录

java - 为什么 Javascript(在 Rhino 中运行)无法访问 java.lang.reflect.Method 实例上的方法?