Binding Array in SQLTemplate

From: ςΡΒΙΓΛΙΚ εΧΗΕΞΙ (eryabitski..iasoft.ru)
Date: Thu Dec 10 2009 - 02:55:31 EST

  • Next message: Apache Hudson Server: "Build failed in Hudson: Cayenne-trunk Β» JDK 1.6 (latest),HSQLDB #85"

    Hello!
    I try to use array (like String[]) as a bind parameter.

    In follow lines:

            String[] artistNames = new String[2];
            artistNames[0] = "Artist1";
            artistNames[1] = "Artist3";
            String sql = "SELECT * FROM ARTIST WHERE ARTIST_NAME in (#bind($ARTISTNAMES))";
            SQLTemplate query = new SQLTemplate(Artist.class, sql);
            query.setParameters(Collections.singletonMap("ARTISTNAMES", artistNames));
            List result = getDomain().createDataContext().performQuery(query);

    I got this query in logs:

    INFO: SELECT * FROM ARTIST WHERE ARTIST_NAME in (?) [bind: 1:< 'Artist1','Artist3'>]
    10.12.2009 10:48:09 org.apache.cayenne.access.QueryLogger logSelectCount
    INFO: === returned 0 rows. - took 0 ms.

    So... What does it mean? [bind: 1:< 'Artist1','Artist3'>] ?
    I mean what is a purpose of using array in bind? For what queries it should be used?

    Evgeny.



    This archive was generated by hypermail 2.0.0 : Thu Dec 10 2009 - 02:56:46 EST