@@ -441,7 +441,7 @@ private ServiceResponse list(Class c, ServiceRequest request, Database database)
441441 //Build sql string
442442 StringBuilder sql = new StringBuilder ("select " );
443443 Field [] fields = request .getFields ();
444- if (fields ==null || fields .length ==0 ) sql .append (" * " );
444+ if (fields ==null || fields .length ==0 ) sql .append ("* " );
445445 else {
446446 for (int i =0 ; i <fields .length ; i ++){
447447 if (i >0 ) sql .append ("," );
@@ -510,30 +510,53 @@ private ServiceResponse list(Class c, ServiceRequest request, Database database)
510510 }
511511
512512
513- //Add offset
514- Long offset = request .getOffset ();
513+ //Get offset
514+ Object offset = request .getOffset ();
515515 if (offset !=null ){
516- sql .append (" offset " );
517- sql .append (offset );
516+ StringBuilder str = new StringBuilder ();
517+ str .append (" offset " );
518+ str .append (offset );
518519
519520 if (database .getDriver ().equals ("Oracle" )){
520- sql .append (" rows" ); //OFFSET 20 ROWS
521+ str .append (" rows" ); //OFFSET 20 ROWS
521522 }
523+
524+ offset = str .toString ();
525+ }
526+ else {
527+ offset = "" ;
522528 }
523529
524530
525- //Add limit
526- Long limit = request .getLimit ();
531+ //Get limit
532+ Object limit = request .getLimit ();
527533 if (limit !=null ){
534+ StringBuilder str = new StringBuilder ();
528535 if (database .getDriver ().equals ("Oracle" )){
529- sql .append (" fetch next " );
530- sql .append (limit );
531- sql .append (" only" );
536+ str .append (" fetch next " );
537+ str .append (limit );
538+ str .append (" only" );
532539 }
533540 else { //PostgreSQL and H2
534- sql .append (" limit " );
535- sql .append (limit );
541+ str .append (" limit " );
542+ str .append (limit );
536543 }
544+
545+ limit = str .toString ();
546+ }
547+ else {
548+ limit = "" ;
549+ }
550+
551+
552+ //Append offset and limit
553+ if (database .getDriver ().equals ("H2" )){
554+ sql .append (limit );
555+ sql .append (offset );
556+ }
557+ else {
558+ sql .append (offset );
559+ sql .append (limit );
537560 }
538561
539562
0 commit comments