Order by date in getEjbql
valatharv Oct 2, 2008 5:10 PMOrder by clause works fine when it is sorted by Varchar data... but when I use order by date or any id it throws exception...
return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.protXml"; //This works
return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.dateCreated"; //Throws exception
I have dateCreated in my entity...
Log:
---------------
SEVERE: Error Rendering View[/experimentTableIndexList.xhtml]
javax.faces.FacesException: javax.el.ELException: /experimentTableIndexList.xhtml @21,81 rendered="#{empty experimentTableIndexList.resultList}": Error reading 'resultList' on type com.novartis.bdm.proteomics.session.ExperimentTableIndexList_$$_javassist_1
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:393)
............
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: dateCreated of: com.novartis.bdm.proteomics.entity.ExperimentTableIndex [select experimentTableIndex from com.novartis.bdm.proteomics.entity.ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.dateCreated]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:616)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:95)
-------------------------------
@Name("experimentTableIndexList")
public class ExperimentTableIndexList extends EntityQuery
{
@Override
public String getEjbql()
{
return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.protXml";
//return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.dateCreated";
}
}
-------------------------------
Entity :
------------
@Entity(name = "ExperimentTableIndex")
@Table(name = "EXPERIMENT_TABLE_INDEX")
public class ExperimentTableIndex
implements Equals, HashCode, ToString
{
protected String protXml;
protected Date dateCreated;
@Basic
@Column(name = "PROTXML")
public String getProtXml() {
return protXml;
}
public void setProtXml(String value) {
this.protXml = value;
}
@Transient
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Date value) {
this.dateCreated = value;
}
@Basic
@Column(name = "DATE_CREATED")
@Temporal(TemporalType.DATE)
public Date getDateCreatedElement() {
return this.getDateCreated();
}
public void setDateCreatedElement(Date target) {
this.dateCreated = target;
}
return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.protXml"; //This works
return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.dateCreated"; //Throws exception
I have dateCreated in my entity...
Log:
---------------
SEVERE: Error Rendering View[/experimentTableIndexList.xhtml]
javax.faces.FacesException: javax.el.ELException: /experimentTableIndexList.xhtml @21,81 rendered="#{empty experimentTableIndexList.resultList}": Error reading 'resultList' on type com.novartis.bdm.proteomics.session.ExperimentTableIndexList_$$_javassist_1
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:393)
............
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: dateCreated of: com.novartis.bdm.proteomics.entity.ExperimentTableIndex [select experimentTableIndex from com.novartis.bdm.proteomics.entity.ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.dateCreated]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:616)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:95)
-------------------------------
@Name("experimentTableIndexList")
public class ExperimentTableIndexList extends EntityQuery
{
@Override
public String getEjbql()
{
return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.protXml";
//return "select experimentTableIndex from ExperimentTableIndex experimentTableIndex ORDER BY experimentTableIndex.dateCreated";
}
}
-------------------------------
Entity :
------------
@Entity(name = "ExperimentTableIndex")
@Table(name = "EXPERIMENT_TABLE_INDEX")
public class ExperimentTableIndex
implements Equals, HashCode, ToString
{
protected String protXml;
protected Date dateCreated;
@Basic
@Column(name = "PROTXML")
public String getProtXml() {
return protXml;
}
public void setProtXml(String value) {
this.protXml = value;
}
@Transient
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Date value) {
this.dateCreated = value;
}
@Basic
@Column(name = "DATE_CREATED")
@Temporal(TemporalType.DATE)
public Date getDateCreatedElement() {
return this.getDateCreated();
}
public void setDateCreatedElement(Date target) {
this.dateCreated = target;
}