mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
49 lines
1.4 KiB
Java
49 lines
1.4 KiB
Java
package org.tests.query;
|
|
|
|
|
|
import io.ebean.BaseTestCase;
|
|
import io.ebean.Ebean;
|
|
import io.ebean.Query;
|
|
import io.ebean.RawSql;
|
|
import io.ebean.RawSqlBuilder;
|
|
import org.tests.model.basic.Customer;
|
|
import org.tests.model.basic.ResetBasicData;
|
|
import org.junit.Test;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
public class TestIContains extends BaseTestCase {
|
|
|
|
@Test
|
|
public void testIContains() {
|
|
|
|
ResetBasicData.reset();
|
|
|
|
// case insensitive
|
|
Query<Customer> query = Ebean.find(Customer.class).where().icontains("name", "Rob").query();
|
|
|
|
query.findList();
|
|
String generatedSql = query.getGeneratedSql();
|
|
|
|
assertThat(generatedSql).contains("lower(t0.name)");
|
|
|
|
// case sensitive
|
|
query = Ebean.find(Customer.class).where().contains("name", "Rob").query();
|
|
|
|
query.findList();
|
|
generatedSql = query.getGeneratedSql();
|
|
|
|
assertThat(generatedSql).contains(" t0.name ");
|
|
|
|
Ebean.find(Customer.class).where().icontains("name", "Rob").findList();
|
|
Ebean.find(Customer.class).where().icontains("name", "Rob").findList();
|
|
Ebean.find(Customer.class).where().icontains("name", "Rob").findList();
|
|
|
|
String sql = "select id, status, name from o_customer where lower(name) like :name";
|
|
RawSql parse = RawSqlBuilder.parse(sql).create();
|
|
|
|
Ebean.find(Customer.class).setRawSql(parse).setParameter("name", "Jim").findList();
|
|
}
|
|
|
|
}
|