Home > database >  SQL Syntax error in Hibernate's map function
SQL Syntax error in Hibernate's map function

Time:11-18

SELECT NEW Map (PRODUCT_CATEGORY, COUNT(PRODUCT_CATEGORY) AS COUNTER) from Product WHERE USER_ID = (SELECT USER_ID FROM USERS WHERE USERNAME='burak123'

Hi everyone, As hibernates document says here: https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-select

I am trying to map the query result into a hash map like this

@Query(value = "SELECT NEW Map( PRODUCT_CATEGORY , COUNT(PRODUCT_CATEGORY) AS COUNTER )  from Product WHERE USER_ID=(SELECT USER_ID FROM USERS WHERE USERNAME=(:username)) ",nativeQuery = true)
    HashMap<Integer,Integer> getCategoryCountsWithUsername(@Param("username")String username);

But it throws an JdbcSyntaxErrorException. I am trying to solve this for like 1 hours already. Can someone help?

CodePudding user response:

You are using a native query, not an HQL query. Check your SQL syntax.

CodePudding user response:

With a native query, your named parameter won't work. You need to remove the nativeQuery = true

  • Related