File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes EJB QL LIKE Operator Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "EJB QL LIKE Operator" Watch "EJB QL LIKE Operator" New topic

EJB QL LIKE Operator

Murtuza N Vohra

Joined: Nov 15, 2004
Posts: 4

I want to perform search by keyword on all fields of a table. Say I have a product table with following fields:

Field Name Data Type
ProductNo Integer
ProductName String
Brand String
UnitPrice Double
SupCode Integer

I cannot use LIKE operator as follows:
"SELECT OBJECT(p) FROM Product AS p WHERE p.productName LIKE ?1 or p.supCode LIKE ?1 or p.partNo LIKE ?1 p.brand LIKE ?1 or p.unitPrice LIKE ?1 ORDER BY p.productName ASC"

This throws error as LIKE operator expects String fields only. Is there any way I can use LIKE operator or any other way to search by keywords on all field of any data type using EJB QL.
Paul Sturrock

Joined: Apr 14, 2004
Posts: 10336

No. LIKE is String comparison, which won't work with other datatypes.

JavaRanch FAQ HowToAskQuestionsOnJavaRanch
Murtuza N Vohra

Joined: Nov 15, 2004
Posts: 4
Is there any other way we can write EJB QL statement to search in all table fields of any data type.
I agree. Here's the link:
subject: EJB QL LIKE Operator
jQuery in Action, 3rd edition