Closed
Description
Describe the bug
Using the #{#entityName}
Spring Data JPA Query Expression Variable in a Spring Data @Query
leads to two "Data Queries - HQL Query Syntax" validation errors in Eclipse / STS:
HQL: extraneous input '#{#entityName}' expecting {'(', ALL, AND, ANY, AS, ASC, AVG, BETWEEN, BOTH, BREADTH, BY, CASE, CAST, COLLATE, COUNT, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_INSTANT, CURRENT_TIME, CURRENT_TIMESTAMP, CYCLE, DATE, DATETIME, DAY, DEFAULT, DELETE, DEPTH, DESC, DISTINCT, ELEMENT, ELEMENTS, ELSE, EMPTY, END, ENTRY, EPOCH, ERROR, ESCAPE, EVERY, EXCEPT, EXCLUDE, EXISTS, EXTRACT, FETCH, FILTER, FIRST, FLOOR, FOLLOWING, FOR, FORMAT, FROM, FULL, FUNCTION, GROUP, GROUPS, HAVING, HOUR, ID, IGNORE, ILIKE, IN, INDEX, INDICES, INNER, INSERT, INSTANT, INTERSECT, INTO, IS, JOIN, KEY, LAST, LATERAL, LEADING, LEFT, LIKE, LIMIT, LIST, LISTAGG, LOCAL, LOCAL_DATE, LOCAL_DATETIME, LOCAL_TIME, MAP, MATERIALIZED, MAX, MAXELEMENT, MAXINDEX, MEMBER, MICROSECOND, MILLISECOND, MIN, MINELEMENT, MININDEX, MINUTE, MONTH, NANOSECOND, NATURALID, NEW, NEXT, NO, NOT, NULLS, OBJECT, OF, OFFSET, OFFSET_DATETIME, ON, ONLY, OR, ORDER, OTHERS, OUTER, OVER, OVERFLOW, OVERLAY, PAD, PARTITION, PERCENT, PLACING, POSITION, POWER, PRECEDING, QUARTER, RANGE, RESPECT, RIGHT, ROLLUP, ROW, ROWS, SEARCH, SECOND, SELECT, SET, SIZE, SOME, SUBSTRING, SUM, THEN, TIES, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, TO, TRAILING, TREAT, TRIM, TRUNC, TRUNCATE, TYPE, UNBOUNDED, UNION, UPDATE, USING, VALUE, VALUES, VERSION, VERSIONED, WEEK, WHEN, WHERE, WITH, WITHIN, WITHOUT, YEAR, IDENTIFICATION_VARIABLE} [HQL_SYNTAX]
and
HQL: mismatched input '#{#entityName}' expecting {',', ')', EXCEPT, FROM, GROUP, INTERSECT, ORDER, UNION, WHERE} [HQL_SYNTAX]
To Reproduce
Example @Query
query that triggered those errors:
public interface MyInterfaceRepository extends JpaRepository<MyEntity, Long> {
@Query("from #{#entityName} e where g.order= (select min(sub.order) from #{#entityName} sub)")
Optional<MyEntity> searchWithMinOrder();
}
Version Spring Tools:
- Spring Boot Language Server Feature:
4.27.0.202411281450
- Spring IDE Boot Microservices Dash:
4.27.0.202411281622
- Spring Tool Suite 4:
4.27.0.202411281622
- Spring Tool Suite 4 Main Feature:
4.27.0.202411281622
Sample
n/a