KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to use NamedParameterJdbTemplate in a Spring MVC application. The issue is that the bind parameters do not seem to work (no sorting happens) when I include one of ORDER BY clauses listed below. However, a hard coded order by column name in the sql works. ORDER BY column1 ORDER BY column1 ORDER BY column1 asc ORDER BY column1 desc For example, the below listed query does not work. private static final String SEARCH_ALL_BY_SORT_ORDER= " select FIRST_NM, MIDDLE_NM, LAST_NM, CUSTOMER_IDENTIFIER, EMAIL_ADDRESS, ACCOUNT_ID" + " from VIEW " + " where CUSTOMER_IDENTIFIER= :customerIdentifier " + " and ( REGEXP_LIKE(FIRST_NM, :firstName, 'i') " + " or REGEXP_LIKE(LAST_NM, :lastName, 'i') " + " or REGEXP_LIKE(EMAIL_ADDRESS, :emailAddress, 'i') )" + " order by :sortColumns"; The same query with a hard coded order by column works: private static final String SEARCH_ALL_BY_SORT_ORDER= " select FIRST_NM, MIDDLE_NM, LAST_NM, CUSTOMER_IDENTIFIER, EMAIL_ADDRESS, ACCOUNT_ID" + " from VIEW " + " where CUSTOMER_IDENTIFIER= :customerIdentifier " + " and ( REGEXP_LIKE(FIRST_NM, :firstName, 'i') " + " or REGEXP_LIKE(LAST_NM, :lastName, 'i') " + " or REGEXP_LIKE(EMAIL_ADDRESS, :emailAddress, 'i') )" + " order by LAST_NM"; Here's the relevant jdbctemplate code Map <String, Object> params = new HashMap <String, Object>(); params.put("customerIdentifier", customerIdentifier); params.put("firstName", searchCriteria ); params.put("lastName", searchCriteria ); params.put("emailAddress",searchCriteria); // sortBy is COLUMN name // sortOrder is either 'asc' or 'desc' params.put("sortColumns", sortBy + " " + sortOrder); // Using jus
Tags (comma-separated)
Save Edits
Cancel