Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EJB QL LIKE Operator

 
Murtuza N Vohra
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

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
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No. LIKE is String comparison, which won't work with other datatypes.
 
Murtuza N Vohra
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there any other way we can write EJB QL statement to search in all table fields of any data type.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic