Package com.avaje.tests.rawsql

Source Code of com.avaje.tests.rawsql.TestRawSqlAsKeyword

package com.avaje.tests.rawsql;

import java.util.List;

import org.junit.Assert;
import org.junit.Test;

import com.avaje.ebean.BaseTestCase;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.Query;
import com.avaje.ebean.RawSql;
import com.avaje.ebean.RawSqlBuilder;
import com.avaje.tests.model.basic.Customer;
import com.avaje.tests.model.basic.ResetBasicData;

public class TestRawSqlAsKeyword extends BaseTestCase {
 
  @Test
  public void test() {

    // Make this false to run this test ... as the pipe string concatenation syntax is DB specific
    boolean skipTestAsDBSpecficSQL = true;
   
    if (skipTestAsDBSpecficSQL) {
     
      return;
    }
   
      ResetBasicData.reset();
     
     
      // try valid query where spaces in the formula ...
      RawSql rawSql =
          RawSqlBuilder
              .parse("select r.id, r.name || 'hello' as name from o_customer r ")
              .create();
                 
      Query<Customer> query = Ebean.find(Customer.class);
      query.setRawSql(rawSql);
      query.where().ilike("name", "r%");
     
      List<Customer> list = query.findList();
      Assert.assertNotNull(list);
     
     
      // try valid query with no spaces
      rawSql =
          RawSqlBuilder
              .parse("select r.id, r.name||'hello' as name from o_customer r ")
              .create();
                 
      query = Ebean.find(Customer.class);
      query.setRawSql(rawSql);
      query.where().ilike("name", "r%");
     
      list = query.findList();
      Assert.assertNotNull(list);
     
      rawSql =
          RawSqlBuilder
              .parse("select r.id, r.name||'hello' name from o_customer r ")
              .create();
      query = Ebean.find(Customer.class);
      query.setRawSql(rawSql);
      query.where().ilike("name", "r%");
     
      list = query.findList();
      Assert.assertNotNull(list);
     
      // this will barf - expecting the AS keyword now
      rawSql =
          RawSqlBuilder
              .parse("select r.id, r.name || 'hello' name from o_customer r ")
              .create();
      query = Ebean.find(Customer.class);
      query.setRawSql(rawSql);
      query.where().ilike("name", "r%");
     
      list = query.findList();
      Assert.assertNotNull(list);
  }
}
TOP

Related Classes of com.avaje.tests.rawsql.TestRawSqlAsKeyword

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.