Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JPA concat operator

Is there a JPA concat operator for string concatenation?

I know there is a JPA CONCAT function, however its ugly to use for concatenating multiple strings.

CONCAT(CONCAT(CONCAT(cola,colb),colc),cold) 

Vendors like Oracle offer || some other like Microsoft offer +. Is there a standard JPA concatenation operator so that I could create a query like

cola || colb || colc || cold 

I tried + using openjpa with SQL Server, however it seems to be invalid JPQL. I couldn't find anything regarding such an operator in an oracle reference.

like image 473
Udo Held Avatar asked Dec 14 '11 12:12

Udo Held


1 Answers

The CONCAT function was extended in JPA 2.0 to allow passing more than 2 parameters, from section 4.6.17.2.1 (String Functions) of the specification:

CONCAT(string_primary, string_primary {, string_primary}* ) 

In JPA 1 this was restricted to exactly two parameters.

like image 121
Jörn Horstmann Avatar answered Sep 22 '22 13:09

Jörn Horstmann