如何使用Spring Data JPA进行不同的计数?我不想使用@Query注释。等价的sql查询将是:
SELECT COUNT(DISTINCT rack) FROM store WHERE id = 10001;
我尝试编写以下查询,但它不起作用:
int countDistinctRackById();
我正在使用Spring Data JPA,并且在需要执行SQL查询的地方有一个需求,如下所示:
select key_1, sum(key_2), sum(key_3) from table_1
where key_1 in ('1', '2') and {dynamic_columns} group by key_1;
对于动态列,我使用了Spring Data JPA规范,但是我不确定如何在多个列上编写像sum()这样的聚合函数。
如何在spring boot中使用distinct和not null编写jpa查询?下面是示例。
职员实体类sql查询为:
select distinct job from emp where job is not null
如何在jpa中编写上述查询。
我已经在这里尝试了findByJobNotNull(),null工作得很好,但需要distinct如何做到这一点,请建议。
我有2个表,我想从它们的外键相同的表中获取数据。我首先使用union编写了一个sql查询:
SELECT jw.widget_name,jw.user_id FROM dashboard.jira_widget as jw WHERE jw.user_id = '1'
UNION ALL
SELECT uw.widget_name,uw.user_id FROM dashboard.unit_test_widget as uw WHERE uw.user_id = '1'
但是Jpa根本不支持UNION。
有没有其他方法可以用jpa编写这个查询?
当使用PostgreSQL将数据存储在类似字符串的已验证类型的字段(如xml、json、jsonb、xml、ltree等)中时,INSERT或UPDATE会失败,错误如下:
column "the_col" is of type json but expression is of type character varying
..。或
column "the_col" is of type json but expression is of type text
为什么?我能做些什么?
我正在使用JDBC (PgJDBC)。
这种情况通过Hibernate、JPA
给定一个类似于'192.168/16‘的CIDR字符串,我想检查我的PostgreSQL表中的IP地址是否包含在其中。
我将编写的SQL将遵循以下内容:
SELECT ip FROM ip_mac WHERE ip << inet('192.168/16');
我们的应用程序使用Hibernate。我已经定义了一个UserType来将String转换为Inet类型。在查询IP地址时,我需要能够使用<<和其他工具。
如何使Hibernate呈现<<操作符?
如何使Hibernate呈现inet(CIDR_STRING)
如何像sql query一样使用MONTH函数编写JPA查询?
@NamedQuery(name="querybymonth", query="select t from table1 t where MONTH(c_Date) = 5")
当我使用上面的模式进行查询时,我得到一个错误:unexpected token - MONTH。
我想用编写一个查询,SQL查询如下所示:
select useruuid, score, timeneeded, ROW_NUMBER() OVER
(order by score desc, timeneeded) AS new_column
from scores order by score desc, timeneeded;
我知道如何编写基本的JPA查询,但我还没有找到函数row_number,有吗?
我的问题是-如何在spring中正确使用row_number函数来在排序结果列表上设置索引?
目前,我一直在使用以下基于Spring JPA存储库自定义查询,它工作得很好,
@Query("SELECT usr FROM User usr WHERE usr.configurable = TRUE "
+ "AND (" +
"lower(usr.name) like lower(:filterText) OR lower(usr.userType.classType.displayName) like lower(:filterText) OR lower(usr.
如何编写JPQL查询来更新MySql DB中的单个列:
常规SQL update查询:
Update NATAddress SET ordinal = ? WHERE ordinal = ? AND natId = ?
JPQL更新查询:
UPDATE NATAddress na SET na.ordinal = ?1 WHERE na.ordinal = ?2 AND na.networkDomain.natId =?3
对于上述JPQL更新查询,Eclipse显示以下错误
Input parameters can only be used in the WHERE clause or HA
我正在尝试将以下SQL查询编写为JPA查询。SQL查询可以工作(MySQL数据库),但我不知道如何转换它。我在第一个FROM之后立即得到了一个错误标记。这里可能还有其他错误,因为我找不到任何关于如何在from部分中进行子查询、别名等的指南。
SQL查询
SELECT tbl.* from (
SELECT u.*, COUNT(u.id) AS question_count FROM app_user AS u
INNER JOIN question AS q ON u.id = q.user_id GROUP BY u.id
) AS tbl ORDER BY tb
我正在尝试写一个JPA NamedQuery。我有一个工作的SQL查询,如下所示:
SELECT MIN(t1.Id + 1) AS nextID
FROM
MyTable t1 LEFT JOIN MyTable t2
ON
t1.Id + 1 = t2.Id
WHERE
t2.Id IS NULL
我无法将此查询转换为JPQL语法。
我使用Spring-Data-JDBC (而不是JPA),并希望设置提取大小。
我知道经典的org.springframwork.jdbc.core.JdbcTemplate有一个setFetchSize(int)方法,但是我有Spring存储库:
org.springframework.data.repository.Repository;
org.springframework.data.jdbc.repository.query.Query;
/** This is a Spring Data <b>JDBC</b> (JDBC not JPA!). */
(注:我编辑了我原来的文章以简化)
我无法获得JPQL查询中涉及SUBSTR函数的语法错误。我正在使用eclipselink 2.3.2。
具体来说,我想提出一个与这种sql查询类似的JPQL:
select * from Table1 t where SUBSTR(t.someStringField, 91, 5) like 'abc'
我编写了以下JPQL查询(它看起来非常类似于原始的sql对应程序):
select t from Table1 t where SUBSTR(t.someStringField, 91,5) like 'abc'
(注:为了
我有一个包含以下列的表: id、task_type、start_time、end_time。我需要得到每个任务所用的平均时间。在SQL查询中,我可以这样做:
SELECT task_type, AVG(DATEDIFF(MS, end_time, start_time)) AS average_time GROUP BY task_type
我无法在JPA中使用DATEDIFF,因为它不受支持。如果我将nativeQury传递给JPA "@Query",它会将SELECT语句中未包含的列名显示为无效,假设我将上述查询作为原生查询传递,则会得到错误the column name
我有一个包含blob字段的JPA实体。我想要编写一个JPQL查询来获取实体的blob的长度(我不想将blob加载到内存中)。
例如,在Oracle中,我可以使用以下SQL查询:
SELECT length(blob_field) FROM my_table WHERE id = ?
如何使用JPQL获取blob的长度?
我是Spring Data JPA的新手,想知道如何编写以下子查询:
select o from Owner o where o.ownerId IN (Select c.ownerId from Cars c)
这里Owner是一个实体类,Cars是另一个实体类,我将有两个存储库,一个作为OwnerRepository,另一个作为CarRepository,这两个库都扩展了JPARepository。
在使用IN运算符编写此类自定义查询时需要帮助。
提前谢谢。