use of org.hibernate.test.cid.LineItem in project hibernate-orm by hibernate.
the class ASTParserLoadingTest method testRowValueConstructorSyntaxInInList.
@Test
public void testRowValueConstructorSyntaxInInList() {
Session s = openSession();
s.beginTransaction();
Product product = new Product();
product.setDescription("My Product");
product.setNumberAvailable(10);
product.setPrice(new BigDecimal(123));
product.setProductId("4321");
s.save(product);
Customer customer = new Customer();
customer.setCustomerId("123456789");
customer.setName("My customer");
customer.setAddress("somewhere");
s.save(customer);
Order order = customer.generateNewOrder(new BigDecimal(1234));
s.save(order);
LineItem li = order.generateLineItem(product, 5);
s.save(li);
product = new Product();
product.setDescription("My Product");
product.setNumberAvailable(10);
product.setPrice(new BigDecimal(123));
product.setProductId("1234");
s.save(product);
li = order.generateLineItem(product, 10);
s.save(li);
s.flush();
Query query = s.createQuery("from LineItem l where l.id in (:idList)");
List<Id> list = new ArrayList<Id>();
list.add(new Id("123456789", order.getId().getOrderNumber(), "4321"));
list.add(new Id("123456789", order.getId().getOrderNumber(), "1234"));
query.setParameterList("idList", list);
assertEquals(2, query.list().size());
query = s.createQuery("from LineItem l where l.id in :idList");
query.setParameterList("idList", list);
assertEquals(2, query.list().size());
s.getTransaction().rollback();
s.close();
}
use of org.hibernate.test.cid.LineItem in project hibernate-orm by hibernate.
the class ASTParserLoadingTest method testOneToManyFilter.
@Test
@SkipForDialect(value = IngresDialect.class, jiraKey = "HHH-4976", comment = "Ingres 9.3 does not support sub-selects in the select list")
public void testOneToManyFilter() throws Throwable {
Session session = openSession();
Transaction txn = session.beginTransaction();
Product product = new Product();
product.setDescription("My Product");
product.setNumberAvailable(10);
product.setPrice(new BigDecimal(123));
product.setProductId("4321");
session.save(product);
Customer customer = new Customer();
customer.setCustomerId("123456789");
customer.setName("My customer");
customer.setAddress("somewhere");
session.save(customer);
Order order = customer.generateNewOrder(new BigDecimal(1234));
session.save(order);
LineItem li = order.generateLineItem(product, 5);
session.save(li);
session.flush();
assertEquals(session.createFilter(customer.getOrders(), "").list().size(), 1);
assertEquals(session.createFilter(order.getLineItems(), "").list().size(), 1);
assertEquals(session.createFilter(order.getLineItems(), "where this.quantity > :quantity").setInteger("quantity", 5).list().size(), 0);
session.delete(li);
session.delete(order);
session.delete(product);
session.delete(customer);
txn.commit();
session.close();
}
Aggregations