mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Remove unused ServerConfig debugSql options, Update Tests to use agentloader
This commit is contained in:
@@ -1,24 +1,25 @@
|
||||
package com.avaje.tests.rawsql;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.SqlUpdate;
|
||||
|
||||
public class TestInsertSqlLogging extends TestCase {
|
||||
public class TestInsertSqlLogging extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
|
||||
//Ebean.getServer(null);
|
||||
|
||||
String sql = "insert into audit_log (id, description, modified_description) values (?,?,?)";
|
||||
SqlUpdate sqlUpdate = Ebean.createSqlUpdate(sql);
|
||||
sqlUpdate.setParameter(1, 10000);
|
||||
sqlUpdate.setParameter(2, "hello");
|
||||
sqlUpdate.setParameter(3, "rob");
|
||||
|
||||
sqlUpdate.execute();
|
||||
|
||||
|
||||
}
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
// Ebean.getServer(null);
|
||||
|
||||
String sql = "insert into audit_log (id, description, modified_description) values (?,?,?)";
|
||||
SqlUpdate sqlUpdate = Ebean.createSqlUpdate(sql);
|
||||
sqlUpdate.setParameter(1, 10000);
|
||||
sqlUpdate.setParameter(2, "hello");
|
||||
sqlUpdate.setParameter(3, "rob");
|
||||
|
||||
sqlUpdate.execute();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,32 +2,33 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
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.tests.model.basic.OrderAggregate;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestOrderReportTotal extends TestCase {
|
||||
public class TestOrderReportTotal extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Query<OrderAggregate> query = Ebean.createQuery(OrderAggregate.class);
|
||||
|
||||
List<OrderAggregate> list = query.findList();
|
||||
assertNotNull(list);
|
||||
|
||||
Query<OrderAggregate> q2 = Ebean.createQuery(OrderAggregate.class);
|
||||
q2.where().gt("id", 1);
|
||||
q2.having().gt("totalItems", 1);
|
||||
|
||||
List<OrderAggregate> l2 = q2.findList();
|
||||
assertNotNull(l2);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Query<OrderAggregate> query = Ebean.createQuery(OrderAggregate.class);
|
||||
|
||||
List<OrderAggregate> list = query.findList();
|
||||
Assert.assertNotNull(list);
|
||||
|
||||
Query<OrderAggregate> q2 = Ebean.createQuery(OrderAggregate.class);
|
||||
q2.where().gt("id", 1);
|
||||
q2.having().gt("totalItems", 1);
|
||||
|
||||
List<OrderAggregate> l2 = q2.findList();
|
||||
Assert.assertNotNull(l2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
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;
|
||||
@@ -11,23 +13,23 @@ import com.avaje.ebean.RawSqlBuilder;
|
||||
import com.avaje.tests.model.basic.CustomerAggregate;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlCustomerAggregate extends TestCase {
|
||||
public class TestRawSqlCustomerAggregate extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.parse("select c.customer_id, count(*) as totalContacts from contact c group by c.customer_id")
|
||||
.columnMapping("c.customer_id", "customer.id")
|
||||
.create();
|
||||
|
||||
Query<CustomerAggregate> query = Ebean.find(CustomerAggregate.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.where().ge("customer.id", 1);
|
||||
|
||||
List<CustomerAggregate> list = query.findList();
|
||||
assertNotNull(list);
|
||||
}
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql = RawSqlBuilder
|
||||
.parse(
|
||||
"select c.customer_id, count(*) as totalContacts from contact c group by c.customer_id")
|
||||
.columnMapping("c.customer_id", "customer.id").create();
|
||||
|
||||
Query<CustomerAggregate> query = Ebean.find(CustomerAggregate.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.where().ge("customer.id", 1);
|
||||
|
||||
List<CustomerAggregate> list = query.findList();
|
||||
Assert.assertNotNull(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
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;
|
||||
@@ -11,27 +13,25 @@ import com.avaje.ebean.RawSqlBuilder;
|
||||
import com.avaje.tests.model.basic.Customer;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlNamedParams extends TestCase {
|
||||
public class TestRawSqlNamedParams extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.parse("select r.id, r.name from o_customer r where r.id > :id and r.name like :name")
|
||||
.columnMapping("r.id", "id")
|
||||
.columnMapping("r.name", "name")
|
||||
.create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.setParameter("name", "R%");
|
||||
query.setParameter("id", 0);
|
||||
query.where().lt("id", 1000);
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
|
||||
assertNotNull(list);
|
||||
}
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql = RawSqlBuilder
|
||||
.parse("select r.id, r.name from o_customer r where r.id > :id and r.name like :name")
|
||||
.columnMapping("r.id", "id").columnMapping("r.name", "name").create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.setParameter("name", "R%");
|
||||
query.setParameter("id", 0);
|
||||
query.where().lt("id", 1000);
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
|
||||
Assert.assertNotNull(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.FetchConfig;
|
||||
import com.avaje.ebean.Page;
|
||||
@@ -14,8 +16,9 @@ import com.avaje.ebean.RawSqlBuilder;
|
||||
import com.avaje.tests.model.basic.Customer;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlOrmQuery extends TestCase {
|
||||
public class TestRawSqlOrmQuery extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
@@ -35,9 +38,10 @@ public class TestRawSqlOrmQuery extends TestCase {
|
||||
query.filterMany("contacts").gt("lastName", "b");
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
assertNotNull(list);
|
||||
Assert.assertNotNull(list);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPaging() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.FetchConfig;
|
||||
import com.avaje.ebean.Query;
|
||||
@@ -12,24 +14,22 @@ import com.avaje.ebean.RawSqlBuilder;
|
||||
import com.avaje.tests.model.basic.Customer;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlOrmQueryDistinct extends TestCase {
|
||||
public class TestRawSqlOrmQueryDistinct extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
|
||||
RawSql rawSql0 = RawSqlBuilder.parse(" select distinct r.id, r.name from o_customer r ")
|
||||
.create();
|
||||
|
||||
Query<Customer> query0 = Ebean.find(Customer.class);
|
||||
query0.setRawSql(rawSql0);
|
||||
query0.where().ilike("name", "r%");
|
||||
|
||||
|
||||
RawSql rawSql = RawSqlBuilder.parse(" select distinct r.id, r.name from o_customer r ")
|
||||
.columnMapping("r.id", "id")
|
||||
.columnMapping("r.name", "name")
|
||||
.create();
|
||||
.columnMapping("r.id", "id").columnMapping("r.name", "name").create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
@@ -39,7 +39,7 @@ public class TestRawSqlOrmQueryDistinct extends TestCase {
|
||||
query.filterMany("contacts").gt("lastName", "b");
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
assertNotNull(list);
|
||||
Assert.assertNotNull(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
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;
|
||||
@@ -14,67 +16,58 @@ import com.avaje.tests.model.basic.Order.Status;
|
||||
import com.avaje.tests.model.basic.OrderAggregate;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlOrmWrapper extends TestCase {
|
||||
public class TestRawSqlOrmWrapper extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
String sql
|
||||
= " select order_id, o.status, c.id, c.name, sum(d.order_qty*d.unit_price) as totalAmount"
|
||||
+ " from o_order o"
|
||||
+ " join o_customer c on c.id = o.kcustomer_id "
|
||||
+ " join o_order_detail d on d.order_id = o.id "
|
||||
+ " group by order_id, o.status, c.id, c.name ";
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.parse(sql)
|
||||
.columnMapping("order_id", "order.id")
|
||||
.columnMapping("o.status", "order.status")
|
||||
.columnMapping("c.id", "order.customer.id")
|
||||
.columnMapping("c.name", "order.customer.name")
|
||||
//.columnMapping("sum(d.order_qty*d.unit_price)", "totalAmount")
|
||||
.create();
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
Query<OrderAggregate> query = Ebean.find(OrderAggregate.class);
|
||||
query.setRawSql(rawSql)
|
||||
//.fetch("order.details", new FetchConfig().query())
|
||||
.where().gt("order.id", 0)
|
||||
.having().gt("totalAmount", 20);
|
||||
|
||||
List<OrderAggregate> list = query.findList();
|
||||
assertNotNull(list);
|
||||
ResetBasicData.reset();
|
||||
|
||||
output(list);
|
||||
|
||||
List<OrderAggregate> list2 = Ebean.find(OrderAggregate.class)
|
||||
.setRawSql(rawSql)
|
||||
//.fetch("order.details", new FetchConfig().query())
|
||||
.where().gt("order.id", 2)
|
||||
.having().gt("totalAmount", 10)
|
||||
.findList();
|
||||
|
||||
output(list2);
|
||||
String sql = " select order_id, o.status, c.id, c.name, sum(d.order_qty*d.unit_price) as totalAmount"
|
||||
+ " from o_order o"
|
||||
+ " join o_customer c on c.id = o.kcustomer_id "
|
||||
+ " join o_order_detail d on d.order_id = o.id "
|
||||
+ " group by order_id, o.status, c.id, c.name ";
|
||||
|
||||
RawSql rawSql = RawSqlBuilder.parse(sql).columnMapping("order_id", "order.id")
|
||||
.columnMapping("o.status", "order.status").columnMapping("c.id", "order.customer.id")
|
||||
.columnMapping("c.name", "order.customer.name")
|
||||
// .columnMapping("sum(d.order_qty*d.unit_price)", "totalAmount")
|
||||
.create();
|
||||
|
||||
Query<OrderAggregate> query = Ebean.find(OrderAggregate.class);
|
||||
query.setRawSql(rawSql)
|
||||
// .fetch("order.details", new FetchConfig().query())
|
||||
.where().gt("order.id", 0).having().gt("totalAmount", 20);
|
||||
|
||||
List<OrderAggregate> list = query.findList();
|
||||
Assert.assertNotNull(list);
|
||||
|
||||
output(list);
|
||||
|
||||
List<OrderAggregate> list2 = Ebean.find(OrderAggregate.class).setRawSql(rawSql)
|
||||
// .fetch("order.details", new FetchConfig().query())
|
||||
.where().gt("order.id", 2).having().gt("totalAmount", 10).findList();
|
||||
|
||||
output(list2);
|
||||
|
||||
}
|
||||
|
||||
private void output(List<OrderAggregate> list) {
|
||||
|
||||
for (OrderAggregate oa : list) {
|
||||
Double totalAmount = oa.getTotalAmount();
|
||||
Order order = oa.getOrder();
|
||||
Integer id = order.getId();
|
||||
Status status = order.getStatus();
|
||||
System.out.println("Order: " + id + " " + status + " total:" + totalAmount);
|
||||
|
||||
Customer c = order.getCustomer();
|
||||
System.out.println(" -> customer: " + c.getId() + " " + c.getName());
|
||||
|
||||
// invoke lazy loading as this property
|
||||
// has not populated originally
|
||||
// order.getOrderDate();
|
||||
}
|
||||
|
||||
private void output(List<OrderAggregate> list) {
|
||||
|
||||
for (OrderAggregate oa : list) {
|
||||
Double totalAmount = oa.getTotalAmount();
|
||||
Order order = oa.getOrder();
|
||||
Integer id = order.getId();
|
||||
Status status = order.getStatus();
|
||||
System.out.println("Order: "+id+" "+status+" total:"+totalAmount);
|
||||
|
||||
Customer c = order.getCustomer();
|
||||
System.out.println(" -> customer: "+c.getId()+" "+c.getName());
|
||||
|
||||
// invoke lazy loading as this property
|
||||
// has not populated originally
|
||||
//order.getOrderDate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.FetchConfig;
|
||||
import com.avaje.ebean.Query;
|
||||
@@ -13,46 +15,36 @@ import com.avaje.tests.model.basic.Order;
|
||||
import com.avaje.tests.model.basic.OrderAggregate;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlOrmWrapper2 extends TestCase {
|
||||
public class TestRawSqlOrmWrapper2 extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
String sql
|
||||
= " select order_id, 'ignoreMe', sum(d.order_qty*d.unit_price) as totalAmount "
|
||||
+ " from o_order_detail d"
|
||||
+ " group by order_id ";
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.parse(sql)
|
||||
.columnMapping("order_id", "order.id")
|
||||
.columnMappingIgnore("'ignoreMe'")
|
||||
// don't need this when using column alias
|
||||
//.columnMapping("sum(d.order_qty*d.unit_price)", "totalAmount")
|
||||
.create();
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
Query<OrderAggregate> query = Ebean.find(OrderAggregate.class);
|
||||
query.setRawSql(rawSql)
|
||||
.fetch("order", "status,orderDate",new FetchConfig().query())
|
||||
.fetch("order.customer", "name")
|
||||
.where().gt("order.id", 0)
|
||||
.having().gt("totalAmount", 20)
|
||||
.order().desc("totalAmount")
|
||||
.setMaxRows(10);
|
||||
|
||||
List<OrderAggregate> list = query.findList();
|
||||
assertNotNull(list);
|
||||
ResetBasicData.reset();
|
||||
|
||||
for (OrderAggregate oa : list) {
|
||||
Double totalAmount = oa.getTotalAmount();
|
||||
Order order = oa.getOrder();
|
||||
Integer id = order.getId();
|
||||
System.out.println("Order: "+id+" total:"+totalAmount);
|
||||
}
|
||||
|
||||
|
||||
String sql = " select order_id, 'ignoreMe', sum(d.order_qty*d.unit_price) as totalAmount "
|
||||
+ " from o_order_detail d" + " group by order_id ";
|
||||
|
||||
RawSql rawSql = RawSqlBuilder.parse(sql).columnMapping("order_id", "order.id")
|
||||
.columnMappingIgnore("'ignoreMe'")
|
||||
// don't need this when using column alias
|
||||
// .columnMapping("sum(d.order_qty*d.unit_price)", "totalAmount")
|
||||
.create();
|
||||
|
||||
Query<OrderAggregate> query = Ebean.find(OrderAggregate.class);
|
||||
query.setRawSql(rawSql).fetch("order", "status,orderDate", new FetchConfig().query())
|
||||
.fetch("order.customer", "name").where().gt("order.id", 0).having().gt("totalAmount", 20)
|
||||
.order().desc("totalAmount").setMaxRows(10);
|
||||
|
||||
List<OrderAggregate> list = query.findList();
|
||||
Assert.assertNotNull(list);
|
||||
|
||||
for (OrderAggregate oa : list) {
|
||||
Double totalAmount = oa.getTotalAmount();
|
||||
Order order = oa.getOrder();
|
||||
Integer id = order.getId();
|
||||
System.out.println("Order: " + id + " total:" + totalAmount);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,9 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.FetchConfig;
|
||||
import com.avaje.ebean.RawSql;
|
||||
@@ -14,58 +15,49 @@ import com.avaje.tests.model.basic.Order.Status;
|
||||
import com.avaje.tests.model.basic.OrderAggregate;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlOrmWrapper3 extends TestCase {
|
||||
public class TestRawSqlOrmWrapper3 extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
String sql
|
||||
= " select order_id, o.status, c.id, c.name, sum(d.order_qty*d.unit_price) as totalAmount"
|
||||
+ " from o_order o"
|
||||
+ " join o_customer c on c.id = o.kcustomer_id "
|
||||
+ " join o_order_detail d on d.order_id = o.id "
|
||||
+ " group by order_id, o.status, c.id, c.name ";
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.parse(sql)
|
||||
.columnMapping("order_id", "order.id")
|
||||
.columnMapping("o.status", "order.status")
|
||||
.columnMapping("c.id", "order.customer.id")
|
||||
.columnMapping("c.name", "order.customer.name")
|
||||
//.columnMapping("sum(d.order_qty*d.unit_price)", "totalAmount")
|
||||
.create();
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
List<OrderAggregate> list2 = Ebean.find(OrderAggregate.class)
|
||||
.setRawSql(rawSql)
|
||||
.fetch("order", new FetchConfig().query())
|
||||
.fetch("order.details", new FetchConfig().query())
|
||||
.where().gt("order.id", 2)
|
||||
.having().gt("totalAmount", 10)
|
||||
.filterMany("order.details").gt("unitPrice", 2d)
|
||||
.findList();
|
||||
|
||||
output(list2);
|
||||
ResetBasicData.reset();
|
||||
|
||||
String sql = " select order_id, o.status, c.id, c.name, sum(d.order_qty*d.unit_price) as totalAmount"
|
||||
+ " from o_order o"
|
||||
+ " join o_customer c on c.id = o.kcustomer_id "
|
||||
+ " join o_order_detail d on d.order_id = o.id "
|
||||
+ " group by order_id, o.status, c.id, c.name ";
|
||||
|
||||
RawSql rawSql = RawSqlBuilder.parse(sql).columnMapping("order_id", "order.id")
|
||||
.columnMapping("o.status", "order.status").columnMapping("c.id", "order.customer.id")
|
||||
.columnMapping("c.name", "order.customer.name")
|
||||
// .columnMapping("sum(d.order_qty*d.unit_price)", "totalAmount")
|
||||
.create();
|
||||
|
||||
List<OrderAggregate> list2 = Ebean.find(OrderAggregate.class).setRawSql(rawSql)
|
||||
.fetch("order", new FetchConfig().query())
|
||||
.fetch("order.details", new FetchConfig().query()).where().gt("order.id", 2).having()
|
||||
.gt("totalAmount", 10).filterMany("order.details").gt("unitPrice", 2d).findList();
|
||||
|
||||
output(list2);
|
||||
|
||||
}
|
||||
|
||||
private void output(List<OrderAggregate> list) {
|
||||
|
||||
for (OrderAggregate oa : list) {
|
||||
Double totalAmount = oa.getTotalAmount();
|
||||
Order order = oa.getOrder();
|
||||
Integer id = order.getId();
|
||||
Status status = order.getStatus();
|
||||
System.out.println("Order: " + id + " " + status + " total:" + totalAmount);
|
||||
|
||||
Customer c = order.getCustomer();
|
||||
System.out.println(" -> customer: " + c.getId() + " " + c.getName());
|
||||
|
||||
// invoke lazy loading as this property
|
||||
// has not populated originally
|
||||
// order.getOrderDate();
|
||||
}
|
||||
|
||||
private void output(List<OrderAggregate> list) {
|
||||
|
||||
for (OrderAggregate oa : list) {
|
||||
Double totalAmount = oa.getTotalAmount();
|
||||
Order order = oa.getOrder();
|
||||
Integer id = order.getId();
|
||||
Status status = order.getStatus();
|
||||
System.out.println("Order: "+id+" "+status+" total:"+totalAmount);
|
||||
|
||||
Customer c = order.getCustomer();
|
||||
System.out.println(" -> customer: "+c.getId()+" "+c.getName());
|
||||
|
||||
// invoke lazy loading as this property
|
||||
// has not populated originally
|
||||
//order.getOrderDate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.rawsql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
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;
|
||||
@@ -11,49 +13,43 @@ import com.avaje.ebean.RawSqlBuilder;
|
||||
import com.avaje.tests.model.basic.Customer;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlPositionedParams extends TestCase {
|
||||
public class TestRawSqlPositionedParams extends BaseTestCase {
|
||||
|
||||
public void test() {
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.parse("select r.id, r.name from o_customer r where r.id >= ? and r.name like ?")
|
||||
.columnMapping("r.id", "id")
|
||||
.columnMapping("r.name", "name")
|
||||
.create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.setParameter(1, 1);
|
||||
query.setParameter(2, "R%");
|
||||
query.where().lt("id", 2001);
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
|
||||
assertNotNull(list);
|
||||
}
|
||||
|
||||
|
||||
public void test_unparsed() {
|
||||
ResetBasicData.reset();
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql =
|
||||
RawSqlBuilder
|
||||
.unparsed("select r.id, r.name from o_customer r where r.id >= ? and r.name like ?")
|
||||
.columnMapping("r.id", "id")
|
||||
.columnMapping("r.name", "name")
|
||||
.create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.setParameter(1, 1);
|
||||
query.setParameter(2, "R%");
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
|
||||
assertNotNull(list);
|
||||
}
|
||||
RawSql rawSql = RawSqlBuilder
|
||||
.parse("select r.id, r.name from o_customer r where r.id >= ? and r.name like ?")
|
||||
.columnMapping("r.id", "id").columnMapping("r.name", "name").create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.setParameter(1, 1);
|
||||
query.setParameter(2, "R%");
|
||||
query.where().lt("id", 2001);
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
|
||||
Assert.assertNotNull(list);
|
||||
}
|
||||
|
||||
public void test_unparsed() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
RawSql rawSql = RawSqlBuilder
|
||||
.unparsed("select r.id, r.name from o_customer r where r.id >= ? and r.name like ?")
|
||||
.columnMapping("r.id", "id").columnMapping("r.name", "name").create();
|
||||
|
||||
Query<Customer> query = Ebean.find(Customer.class);
|
||||
query.setRawSql(rawSql);
|
||||
query.setParameter(1, 1);
|
||||
query.setParameter(2, "R%");
|
||||
|
||||
List<Customer> list = query.findList();
|
||||
|
||||
Assert.assertNotNull(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
package com.avaje.tests.rawsql.named;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.FetchConfig;
|
||||
import com.avaje.ebean.Query;
|
||||
import com.avaje.tests.model.basic.OrderAggregate;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestRawSqlNamedQuery extends TestCase {
|
||||
public class TestRawSqlNamedQuery extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Query<OrderAggregate> q = Ebean.createNamedQuery(OrderAggregate.class, "total.amount");
|
||||
q.fetch("order", new FetchConfig().query());
|
||||
|
||||
q.findList();
|
||||
}
|
||||
|
||||
public void test(){
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Query<OrderAggregate> q = Ebean.createNamedQuery(OrderAggregate.class, "total.amount");
|
||||
q.fetch("order", new FetchConfig().query());
|
||||
|
||||
q.findList();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user