#1080 - NOT IN expression using entity beans / reference beans uses "in"

This commit is contained in:
rob bygrave
2017-08-03 20:31:18 +12:00
parent 66138e5ea2
commit b9cc584086
2 changed files with 22 additions and 3 deletions
@@ -6,11 +6,12 @@ import io.ebean.Query;
import org.tests.model.basic.Customer;
import org.tests.model.basic.Order;
import org.tests.model.basic.ResetBasicData;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class TestQueryInAssocOne extends BaseTestCase {
@Test
@@ -25,8 +26,23 @@ public class TestQueryInAssocOne extends BaseTestCase {
query.findList();
String sql = query.getGeneratedSql();
Assert.assertTrue(sql, sql.contains("join o_customer t1 on t1.id = t0.kcustomer_id"));
Assert.assertTrue(sql, sql.contains("t0.kcustomer_id in (?"));
assertThat(sql).contains("join o_customer t1 on t1.id = t0.kcustomer_id");
assertThat(sql).contains("t0.kcustomer_id in (?");
}
@Test
public void test_notIn() {
ResetBasicData.reset();
List<Customer> list = Ebean.find(Customer.class).where().lt("id", 200).findList();
Query<Order> query = Ebean.find(Order.class).where().notIn("customer", list).query();
query.findList();
String sql = query.getGeneratedSql();
assertThat(sql).contains("join o_customer t1 on t1.id = t0.kcustomer_id");
assertThat(sql).contains("t0.kcustomer_id not in (?");
}
}