Hallo dies meine Entität StudentEntity.java,JPA Query Ausnahme unerwartet (
@Entity
@NamedQueries({
@NamedQuery(name="totalStudentSQLQuery",
query="select count(*) as MAX_STUDENT from tblstudent"),
@NamedQuery(name="queryForPagination",
query="SELECT s.studentid AS studentid, s.studentname AS studentname, s.contactno AS contactno, s.deptid AS deptid "+
"FROM (SELECT Row_number() OVER() AS row_num, studentid, studentname, contactno, deptid FROM tblstudent order by studentId asc) s" +
" WHERE s.row_num >=:minRow AND s.row_num <=:maxRow")
})
@Table(name="TBLSTUDENT")
public class StudentEntity implements Serializable{
/**
*
*/
private static final long serialVersionUID = 100034222342L;
@Id
@Column(name="STUDENTID")
private Integer studentId;
@Column(name="STUDENTNAME")
private String studentName;
@Column(name="CONTACTNO")
private String contactNumber;
.....
.....
}
Ich verwende Hibernate 4.0 Gläser für die Persistenz-Provider, und mit JPA,
Mein persistense.xml wird wie folgt,
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="forPractise" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/app</jta-data-source>
<class>com.entity.StudentEntity</class>
<class>com.entity.DeptEntity</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
Jetzt, als ich einen Krieg Datei dieses Projektes zu erstellen und versuchen, in Glassfish Server zu implementieren, erhalte ich einen Fehler unerwartetes Token: ( org.hibernate.hql.internal.ast.QuerySyntaxException: unerwartetes Token: (nahe Zeile 1, Spalte 116 [SELECT s.studentid AS studentid, s.studentname AS studentname, s.contactno AS contactnr, s.deptid AS deptid FROM (SELECT ROW_NUMBER() OVER() AS row_num, StudentID, student, contactno, deptid vON tblstudent Auftrag von StudentID asc) s WHERE s.row_num> =: minRow UND s.row_num < =: maxrow]
kann mir jemand sagen, Wenn ich den Fehler in der NamedQuery mache,
Ich benutze Derby-Datenbank.