You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-user@db.apache.org by Katherine Stone <ka...@gmail.com> on 2005/03/22 22:02:15 UTC

addAscendingOrderByColumn method not working

Using Torque 3.0

Hello,
I have read over the various posts concerning
addDescendingOrderByColumn method not working when building a Criteria
object. If I do not include the addDescendingOrderByColumn or
addAscendingOrderByColumn, the sql works fine(but does not order of
course). When I add it back, a NullPointerException is thrown when
doSelect() is executed.
The column I am sorting on is a String. I noticed when stepping
through in debug mode, right after the
criteria.add(PersonRolePeer.PERSON_REL_PER_ID, getId()); , the
Criteria object inspection correctly prints out a select statement,
but after executing the addAscendingOrderByColumn line, the criteria
select statement seems blank.

Per the past posts:
I checked and the db name is set in the schema.xml. The db adapter is
also correct in the torque.properties file.

As you can see, in the commented out code , I tried a work around of a
custom criteria which I didn't get working yet either. I'd really like
to use the torque method though instead of a custom criteria. Any
ideas?
Thanks,
Kathy Stone

========schema.xml table entry=========
   <table name="PERSON_REL_VW" javaName="PersonRole">
    	<column name="PERSON_REL_ID" type="DECIMAL" javaName="RoleId"/>
    	<column name="PERSON_REL_PER_ID" size="10" type="INTEGER"
javaName="ParentId"/>
    	<column name="PERSON_REL_ENTITIY_ID" size="10" type="INTEGER"
javaName="ChildId"/>
    	<column name="PERSON_REL_ENTITY_TYPE" size="17" type="VARCHAR"
javaName="ChildEntityType"/>
    	<column name="PERSON_REL_ENTITY_NAME" size="64" type="VARCHAR"
javaName="ChildName"/>
    	<column name="PERSON_REL_REL_DESC" size="64" type="VARCHAR"
javaName="RoleDesc"/>
    </table>
=====String defs and relevant method in Person.java=====
	private static final String
SORT_ENTITY_TYPE_COL="PersonRolePeer.PERSON_REL_ENTITY_TYPE";
	private static final String
SORT_ENTITIY_ID_COL="PersonRolePeer.PERSON_REL_ENTITIY_ID";
	private static final String
SORT_ENTITY_NAME_COL="PersonRolePeer.PERSON_REL_ENTITY_NAME";
	private static final String
SORT_ROLE_DESC="PersonRolePeer.PERSON_REL_REL_DESC";
	/*private static final String SORT_ENTITY_TYPE_COL="PERSON_REL_ENTITY_TYPE";
	private static final String SORT_ENTITIY_ID_COL="PERSON_REL_ENTITIY_ID";
	private static final String SORT_ENTITY_NAME_COL="PERSON_REL_ENTITY_NAME";
	private static final String SORT_ROLE_DESC="PERSON_REL_REL_DESC";*/
.........
	public List getRels(String sortOrder, String sortCol) throws TorqueException{

		List relList=null;
		Criteria criteria = new Criteria();
		
		String sortColName = SORT_ENTITY_TYPE_COL;
		if (sortCol.equalsIgnoreCase("EntityType"))
			sortColName = SORT_ENTITY_TYPE_COL;
		else if(sortCol.equalsIgnoreCase("RelatedTo"))
			sortColName = SORT_ENTITIY_ID_COL;
		else if(sortCol.equalsIgnoreCase("Description"))
			sortColName = SORT_ENTITY_NAME_COL;
		else if(sortCol.equalsIgnoreCase("Relationship"))
			sortColName = SORT_ROLE_DESC;
			
			//String sortOrderStrAsc = "ORDER BY " + sortColName + " ASC";
			//String sortOrderStrDesc = "ORDER BY " + sortColName + " DESC";
			

		if(sortOrder.equalsIgnoreCase("A")){
			criteria.add(PersonRolePeer.PERSON_REL_PER_ID, getId());
                    
//criteria.add(PersonRolePeer.PERSON_REL_PER_ID,(Object)sortOrderStrAsc,
Criteria.CUSTOM);
			//addAscendingOrderByColumn throws null pointer exception... ugh
			criteria.addAscendingOrderByColumn(sortColName);
			relList = PersonRolePeer.doSelect(criteria);
		}else
		{
			criteria.add(PersonRolePeer.PERSON_REL_PER_ID, getId());
			criteria.addDescendingOrderByColumn(sortColName);
			//criteria.add(PersonRolePeer.PERSON_REL_PER_ID,(Object)sortOrderStrDesc,	Criteria.CUSTOM);
			relList = PersonRolePeer.doSelect(criteria);
		}
		return relList;

	}

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org