Hi,

This is known limitation. Currently H2 does not know how to convert string 
to your object type other then to parse hexadecimal data. For such a query 
you have to use prepared statement and set parameter as .setObject(1, 
yourObject, Types.JAVA_OBJECT). yourObject here is not a String but object 
of type you stored in database. If you want to find object whos toString() 
method returns "SomeText" you can write it as ...where 'SomeText' = 
cast(Object as varchar).
Read more at 
http://h2database.com/javadoc/org/h2/constant/SysProperties.html#h2.serializeJavaObject

Sergi   

On Saturday, July 14, 2012 12:22:03 PM UTC+4, Christopher Deckers wrote:
>
> Hi Noel, 
>
> > I'd be willing to take the Comparable part of this patch if it included 
> an 
> > addition to our unit-test framework. (hint, hint :-) 
>
> I was about to set it up to work on it when I saw the following: 
>
> "Version 1.3.168 (2012-07-13) 
> New system property "h2.serializeJavaObject" (default: true) that 
> allows to disable serializing Java objects, so that the objects 
> compareTo and toString methods can be used." 
>
> So, instead I downloaded the latest, installed it in our system, and 
> set the property: System.setProperty("h2.serializeJavaObject", 
> "false"); 
>
> Then I tried something like: 
> SELECT * FROM Data WHERE Object = 'SomeText' 
>
> and got the error: 
> Hexadecimal string contains non-hex character: "SomeText"; SQL 
> statement: SELECT * FROM Data WHERE Object = 'SomeText' [90004-168] 
>
> Have I done something wrong or is there something I am missing? 
>
> Cheers, 
> -Christopher 
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/h2-database/-/O8dKpofboP4J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to