Refactor BeanPropertyAssocMany findByParentIds use of raw expression

This commit is contained in:
Robin Bygrave
2016-07-12 16:01:32 +12:00
parent 675c51b8c1
commit d8dfd66af3
5 changed files with 63 additions and 21 deletions
@@ -5,11 +5,17 @@ import com.avaje.ebean.bean.BeanCollection;
import com.avaje.ebean.bean.EntityBean;
import com.avaje.tests.model.basic.Contact;
import com.avaje.tests.model.basic.Customer;
import com.avaje.tests.model.basic.ResetBasicData;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.*;
public class BeanPropertyAssocManyTest extends BaseTestCase {
@@ -40,4 +46,21 @@ public class BeanPropertyAssocManyTest extends BaseTestCase {
assertTrue(ref.isReference());
}
@Test
public void findIdsByParentId() {
ResetBasicData.reset();
List<Object> customerIds = new ArrayList<Object>();
customerIds.add(1L);
customerIds.add(2L);
List<Object> contactIdsForOne = contacts().findIdsByParentId(1L, null, null, null);
List<Object> contactIdsForMultiple = contacts().findIdsByParentId(null, customerIds, null, null);
assertThat(contactIdsForOne).isNotEmpty();
assertThat(contactIdsForMultiple).isNotEmpty();
}
}
@@ -3,6 +3,7 @@ package com.avaje.ebeaninternal.server.grammer;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.Query;
import com.avaje.tests.model.basic.Customer;
import org.junit.Ignore;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -36,6 +37,16 @@ public class EqlParserTest {
assertThat(query.getGeneratedSql()).contains("where t0.name = ?");
}
@Test @Ignore
public void where_namedParam() throws Exception {
Query<Customer> query = parse("where name eq :name");
query.setParameter("name", "Rob");
query.findList();
assertThat(query.getGeneratedSql()).contains("where t0.name = ?");
}
@Test
public void where_or1() throws Exception {
@@ -75,7 +75,8 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase {
assertEquals(0, Ebean.find(User.class).findList().size());
}
@Test public void testFindByParentIdList() {
@Test
public void testFindByParentIdList() {
if (isMsSqlServer()) return;
@@ -92,7 +93,8 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase {
ids.add(1L);
ids.add(2L);
beanProperty.findIdsByParentId(null, ids, null, null);
beanProperty.findIdsByParentId(null, ids, null, null);
beanProperty.findIdsByParentId(1L, null, null, null);
}
@Entity @Table(name = "em_user") public static class User {
@@ -15,6 +15,8 @@ import com.avaje.tests.model.basic.Order;
import com.avaje.tests.model.basic.OrderDetail;
import com.avaje.tests.model.basic.ResetBasicData;
import static org.assertj.core.api.Assertions.assertThat;
public class TestManyLazyLoadingQuery extends BaseTestCase {
@Test
@@ -55,6 +57,7 @@ public class TestManyLazyLoadingQuery extends BaseTestCase {
beanProperty.addWhereParentIdIn(query0, parentIds, false);
query0.findList();
assertThat(query0.getGeneratedSql()).contains(" from o_order_detail t0 where (t0.order_id) in (");
} finally {
Ebean.endTransaction();