You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@turbine.apache.org by Sorin Scortan <ss...@secure-net.ro> on 2002/01/18 14:39:41 UTC

Problem with addOrderByColumn() in Torque and mySQL

Hello all,

I created some classes using Torque and turbine-2.2.-dev.jar, where the
script from schema reference is for the table "Category" is:

  <table name="category">
    <column name="id" required="true" autoIncrement="true"
primaryKey="true" type="INTEGER"/>
    <column name="parentid" required="true"  type="INTEGER"/>
    <column name="level" required="true" type="INTEGER"/>
    <column name="status" required="true" default="A" size="1"
type="VARCHAR"/>
  </table>

the SQL script created by Torque is:
CREATE TABLE category
(
    id INTEGER NOT NULL AUTO_INCREMENT,
    parentid INTEGER NOT NULL,
    level INTEGER NOT NULL,
    status VARCHAR (1) default 'A' NOT NULL,
    PRIMARY KEY(id)
);

When using the following Java code in TDK 2.1:

 Criteria crit = new Criteria();
 crit.add(CategoryPeer.LEVEL, 1, (String)Criteria.EQUAL);
 crit.addOrderByColumn(CategoryPeer.CATEGORYID);
 Vector v = null;
 DBConnection dbConn = null;
 try {
  dbConn = TurbineDB.getConnection();
  v = CategoryPeer.doSelect(crit, dbConn);
  TurbineDB.releaseConnection(dbConn);
 } catch(Exception e) {
  log.fatal(org.apache.turbine.util.StringUtils.stackTrace(e));
  log.debug("error:"+e.getMessage());
 }

I get this error:

C2F0707276E803_000758393 - java.lang.NullPointerException
        at
org.apache.turbine.om.peer.BasePeer.createQueryString(BasePeer.java:1039)

        at
org.apache.turbine.om.peer.BasePeer.doSelect(BasePeer.java:1150)
        at
ro.securenet.portal.om.BaseCategorydescriptionPeer.doSelectVillageRecords(BaseCategoryd

escriptionPeer.java:317)
        at
ro.securenet.portal.om.BaseCategorydescriptionPeer.doSelect(BaseCategorydescriptionPeer

.java:275)
        at
ro.securenet.portal.managers.CatalogManager.getCatalogCategoriesLevel(CatalogManager.ja

va:429)
        at
ro.securenet.portal.modules.actions.Welcome.doListCategoriesLevel2(Welcome.java:85)

        at
ro.securenet.portal.modules.actions.Welcome.doPerform(Welcome.java:67)
        at ro.securenet.portal.modules.Action.perform(Action.java:30)
        at
de.securenet.turbine.extensions.SnActionLoader.exec(SnActionLoader.java:75)

        at
ro.securenet.portal.PortalServlet.doGet(PortalServlet.java:483)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain

.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:19

3)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)

        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:225)

        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252)

        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)

If I comment out the line
crit.addOrderByColumn(CategorydescriptionPeer.CATEGORYID); everithing is
working well.
So, I cannot order the results and I need that.

Also I have other errors if I don't put a DBConnection object as second
parameter for doSelect() or doUpdate() methods.
I use a mySQL database.

Can anyone help me?

Thank you.

--

Sorin Scortan



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Problem with addOrderByColumn() in Torque and mySQL

Posted by Eric Dobbs <er...@dobbse.net>.
On Monday, January 21, 2002, at 12:02  AM, Sorin Scortan wrote:

> I used addAscendingOrderByColumn() too, but the exception is still 
> there...

Then the problem is somewhere else...


>> On Friday, January 18, 2002, at 06:39  AM, Sorin Scortan wrote:
>>
>>>  Criteria crit = new Criteria();
>>>  crit.add(CategoryPeer.LEVEL, 1, (String)Criteria.EQUAL);
>>>  crit.addOrderByColumn(CategoryPeer.CATEGORYID);

If the schema you gave earlier is correct then I think you should
be using 'CategoryPeer.ID' instead of 'CategoryPeer.CATEGORYID'.

The CATEGORYID column doesn't exist in the schema you posted:

> <table name="category">
>   <column name="id" required="true" autoIncrement="true"
>           primaryKey="true" type="INTEGER"/>
>   <column name="parentid" required="true"  type="INTEGER"/>
>   <column name="level" required="true" type="INTEGER"/>
>   <column name="status" required="true" default="A" size="1"
>           type="VARCHAR"/>
> </table>

-Eric

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Problem with addOrderByColumn() in Torque and mySQL

Posted by Sorin Scortan <ss...@secure-net.ro>.
Hello,

I used addAscendingOrderByColumn() too, but the exception is still there...

Eric Dobbs wrote:

> On Friday, January 18, 2002, at 06:39  AM, Sorin Scortan wrote:
>
> >  Criteria crit = new Criteria();
> >  crit.add(CategoryPeer.LEVEL, 1, (String)Criteria.EQUAL);
> >  crit.addOrderByColumn(CategoryPeer.CATEGORYID);
>
> A snip from the source code for Criteria:
>
>      /**
>       * @deprecated Use addAscendingOrderByColumn() instead.
>       */
>      public Criteria addOrderByColumn( String name )
>
> This information also appears in the javadocs.  And just to
> be as clear as possible:
>
> "Use addAscendingOrderByColumn() instead."
>
> Hope that helps.
> -Eric
>
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>

--

Sorin Scortan




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Problem with addOrderByColumn() in Torque and mySQL

Posted by Eric Dobbs <er...@dobbse.net>.
On Friday, January 18, 2002, at 06:39  AM, Sorin Scortan wrote:

>  Criteria crit = new Criteria();
>  crit.add(CategoryPeer.LEVEL, 1, (String)Criteria.EQUAL);
>  crit.addOrderByColumn(CategoryPeer.CATEGORYID);

A snip from the source code for Criteria:

     /**
      * @deprecated Use addAscendingOrderByColumn() instead.
      */
     public Criteria addOrderByColumn( String name )

This information also appears in the javadocs.  And just to
be as clear as possible:

"Use addAscendingOrderByColumn() instead."

Hope that helps.
-Eric

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>