Hi, I meet a strange error while using Criteria:
I want to apply " CUSTOMER_NAME like ......" as a condition in query. My =
code like this:
Criteria c =3D new Criteria();
c.add(SoOrderHeadersPeer.CUSTOMER_NAME, searchForm.getCustomerName(), =
SqlEnum.LIKE);
1.
The compiler report a error:
"XXXXX.java": Error #: 307 : class org.apache.torque.util.SqlEnum is not =
public in package org.apache.torque.util; cannot be accessed from =
outside package at line 123, column 118
2.
I checked org.apache.torque.util.SqlEnum.java, and add "public" in the =
class definition.
Another strange error occured:
"XXXXXX.java": Error #: 304 : reference to add is ambiguous; both method =
add(java.lang.String, java.lang.Object, org.apache.torque.util.SqlEnum) =
in class org.apache.torque.util.Criteria and method =
add(java.lang.String, java.lang.String, java.lang.Object) in class =
org.apache.torque.util.Criteria match at line 123, column 22
3.
Then, I change my code like this:
c.add((String)(SoOrderHeadersPeer.ORDER_NUMBER), =
(String)(searchForm.getOrderNumber()), (SqlEnum)(SqlEnum.LIKE));
The error still exist.
4.
Then, I delete the function from org.apache.torque.util.Criteria.java
public Criteria add ( String table,
String column,
Object value )
It's Ok now. Strange????
Very Strange!
What's the problem?? Can you give me some light about this?
Thanks
Annie
|