Thread: Error with a hibernate query

Error with a hibernate query

From
Vernon
Date:
The Java code:

public class User {

    private Long id;
    private String username;
    private String password;

        //...
}

The DB table:

create table USERS (
    id             SERIAL UNIQUE primary key,
    username     VARCHAR(80) NOT NULL,
    password    VARCHAR(80) NOT NULL,
        ...
);

The Hibernate query:

getHibernateTemplate().findByNamedParam("select u from
                      User as u where u.username=:username and
u.password=:password", new String[] { "username",
"password" }

From the stack, the following error seems to be on the
JDBC driver side. Any suggestions of solving this
problem?


org.springframework.jdbc.BadSqlGrammarException: Bad
SQL grammar [] in task 'Hibernate operation'; nested
exception is java.sql.SQLException: ERROR: operator
does not exist: character varying = bytea
java.sql.SQLException: ERROR: operator does not exist:
character varying = bytea
    at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1365)
    at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1160)
    at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:172)
    at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:387)
    at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:328)
    at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:238)
    at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
    at
net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:88)
    at
net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875)
    at
net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
    at
net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
    at
net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
    at
net.sf.hibernate.loader.Loader.list(Loader.java:1024)
    at
net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
    at
net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1553)
    at
net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
    at



__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/

Re: Error with a hibernate query

From
Dave Cramer
Date:
Do you have a hibernate mapping file ?

Dave

Vernon wrote:

>The Java code:
>
>public class User {
>
>    private Long id;
>    private String username;
>    private String password;
>
>        //...
>}
>
>The DB table:
>
>create table USERS (
>    id             SERIAL UNIQUE primary key,
>    username     VARCHAR(80) NOT NULL,
>    password    VARCHAR(80) NOT NULL,
>        ...
>);
>
>The Hibernate query:
>
>getHibernateTemplate().findByNamedParam("select u from
>                      User as u where u.username=:username and
>u.password=:password", new String[] { "username",
>"password" }
>
>From the stack, the following error seems to be on the
>JDBC driver side. Any suggestions of solving this
>problem?
>
>
>org.springframework.jdbc.BadSqlGrammarException: Bad
>SQL grammar [] in task 'Hibernate operation'; nested
>exception is java.sql.SQLException: ERROR: operator
>does not exist: character varying = bytea
>java.sql.SQLException: ERROR: operator does not exist:
>character varying = bytea
>    at
>org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1365)
>    at
>org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1160)
>    at
>org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:172)
>    at
>org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:387)
>    at
>org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:328)
>    at
>org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:238)
>    at
>org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
>    at
>net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:88)
>    at
>net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875)
>    at
>net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
>    at
>net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
>    at
>net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
>    at
>net.sf.hibernate.loader.Loader.list(Loader.java:1024)
>    at
>net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
>    at
>net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1553)
>    at
>net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
>    at
>
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Small Business - Try our new resources site!
>http://smallbusiness.yahoo.com/resources/
>
>---------------------------(end of broadcast)---------------------------
>TIP 4: Don't 'kill -9' the postmaster
>
>
>
>

--
Dave Cramer
http://www.postgresintl.com
519 939 0336
ICQ#14675561


Hi all,

  I just ran into what i think is a compliance problem.  I can't call ResultSet.relative(0) without getting in
exception. As stated in the javadoc it's should just do NOTHING. 


Am I wrong?

Best regards
/David

rs.relative(skipResults);

if (index==0)
>            throw new SQLException("Cannot move to index of 0");


 /**
     * Moves the cursor a relative number of rows, either positive or
negative.
     * Attempting to move beyond the first/last row in the
     * result set positions the cursor before/after the
     * the first/last row. Calling <code>relative(0)</code> is valid,
but does
     * not change the cursor position.
     *
     * <p>Note: Calling the method <code>relative(1)</code>
     * is identical to calling the method <code>next()</code> and
     * calling the method <code>relative(-1)</code> is identical
     * to calling the method <code>previous()</code>.
     *
     * @param rows an <code>int</code> specifying the number of rows to
     *        move from the current row; a positive number moves the cursor
     *        forward; a negative number moves the cursor backward
     * @return <code>true</code> if the cursor is on a row;
     *         <code>false</code> otherwise
     * @exception SQLException if a database access error occurs,
     *            there is no current row, or the result set type is
     *            <code>TYPE_FORWARD_ONLY</code>
     * @since 1.2
     */

Re: ResultSet.relative(0) throws "Cannot move to index of 0"

From
Kris Jurka
Date:

On Mon, 18 Apr 2005, David Gagnon wrote:

>   I just ran into what i think is a compliance problem.  I can't call
> ResultSet.relative(0) without getting in exception.  As stated in the
> javadoc it's should just do NOTHING.

This is a bug and is only present in the 7.4 tree.  I've fixed it there.
I'll gather up a couple more 7.4 changes and put out a new 7.4 release in
a couple of days.  For now I can offer you
http://www.ejurka.com/pgsql/jars/dgagnon/pg74-dg-jdbc3.jar as I don't
happen to have other compilers available.

Kris Jurka

Re: ResultSet.relative(0) throws "Cannot move to index of 0"

From
David Gagnon
Date:
Thanks!

      I also try a rs.relative(-1) when I was positionned before the
first row.  I was not eable to get my result after that.  I'm note sure
about this one though.. And it's not easy to test it agains ... I you
don't know about this one .. it's either a mistake I made myself or
another bug.  If you want I cant test it when I have a chance...

Let me know!
Thanks again
/David


Kris Jurka wrote:

>On Mon, 18 Apr 2005, David Gagnon wrote:
>
>
>
>>  I just ran into what i think is a compliance problem.  I can't call
>>ResultSet.relative(0) without getting in exception.  As stated in the
>>javadoc it's should just do NOTHING.
>>
>>
>
>This is a bug and is only present in the 7.4 tree.  I've fixed it there.
>I'll gather up a couple more 7.4 changes and put out a new 7.4 release in
>a couple of days.  For now I can offer you
>http://www.ejurka.com/pgsql/jars/dgagnon/pg74-dg-jdbc3.jar as I don't
>happen to have other compilers available.
>
>Kris Jurka
>
>
>