/** * Test having with entity. */ private void testHavingWithEntity() { String queryString = "Select p from Person p where p.age < 40 group by p.age having max(p.salary) > 600"; Query query = em.createQuery(queryString); List resultList = query.getResultList(); Assert.assertEquals(1, resultList.size()); Person person = (Person) (resultList.get(0)); Assert.assertEquals("7", person.getPersonId()); Assert.assertEquals("KPM", person.getPersonName()); Assert.assertEquals(30, person.getAge().intValue()); Assert.assertEquals(700.0, person.getSalary()); }
/** * Test group by with entity. */ private void testGroupByWithEntity() { String queryString = "Select p from Person p where p.age < 20 group by p.age"; Query query = em.createQuery(queryString); List resultList = query.getResultList(); Assert.assertEquals(1, resultList.size()); Person person = (Person) (resultList.get(0)); Assert.assertEquals("5", person.getPersonId()); Assert.assertEquals("AK", person.getPersonName()); Assert.assertEquals(10, person.getAge().intValue()); Assert.assertEquals(500.0, person.getSalary()); }
/** * Test order by asc multiple fields. */ private void testOrderByASCMultipleFields() { String queryString = "Select p.personName, p.age, p.salary from Person p where p.salary <> 300.0 order by p.age ASC"; Query query = em.createQuery(queryString); List resultList = query.getResultList(); Assert.assertEquals(3, resultList.size()); Assert.assertEquals("pragalbh", (((Person) resultList.get(0)).getPersonName())); Assert.assertEquals(20, ((Person) resultList.get(0)).getAge().intValue()); Assert.assertEquals(700.0, ((Person) resultList.get(0)).getSalary()); Assert.assertEquals("dev", ((Person) resultList.get(1)).getPersonName()); Assert.assertEquals(40, ((Person) resultList.get(1)).getAge().intValue()); Assert.assertEquals(400.0, ((Person) resultList.get(1)).getSalary()); Assert.assertEquals("karthik", ((Person) resultList.get(2)).getPersonName()); Assert.assertEquals(50, ((Person) resultList.get(2)).getAge().intValue()); Assert.assertEquals(500.0, ((Person) resultList.get(2)).getSalary()); }
/** * Assert person. * * @param actual * the actual * @param person * the person */ private void assertPerson(Object actual, Person person) { Person actualPerson = (Person) actual; Assert.assertEquals(actualPerson.getPersonId(), person.getPersonId()); Assert.assertEquals(actualPerson.getPersonName(), person.getPersonName()); Assert.assertEquals(actualPerson.getAge().intValue(), person.getAge().intValue()); Assert.assertEquals(actualPerson.getSalary(), person.getSalary()); Assert.assertEquals(actualPerson.getDay(), person.getDay()); }
@Test public void testOnUpdate() { Person p1 = new Person(); p1.setPersonName("vivek"); p1.setAge(32); p1.setDay(Day.TUESDAY); p1.setPersonId("p1"); p1.setSalary(6000.345); em.persist(p1); em.clear(); Person p = em.find(Person.class, "p1"); Assert.assertNotNull(p); Assert.assertEquals("vivek", p.getPersonName()); p.setAge(12); p.setPersonName("newvivek"); em.merge(p); em.clear(); Query findQuery = em.createQuery("Select p from Person p WHERE p.personName = vivek"); List<Person> allPersons = findQuery.getResultList(); Assert.assertEquals(0, allPersons.size()); findQuery = em.createQuery("Select p from Person p WHERE p.personName = newvivek"); allPersons = findQuery.getResultList(); Assert.assertEquals(new Integer(12), allPersons.get(0).getAge()); em.remove(em.find(Person.class, "p1")); }
Assert.assertNotNull(allPersons); Assert.assertEquals(1, allPersons.size()); Assert.assertEquals(new Integer(32), allPersons.get(0).getAge()); Assert.assertNotNull(allPersons); Assert.assertEquals(1, allPersons.size()); Assert.assertEquals(new Integer(32), allPersons.get(0).getAge()); Assert.assertEquals(1, allPersons.size()); Assert.assertEquals("p2", allPersons.get(0).getPersonId()); Assert.assertEquals(new Integer(24), allPersons.get(0).getAge()); Assert.assertEquals(1, allPersons.size()); Assert.assertEquals("p1", allPersons.get(0).getPersonId()); Assert.assertEquals(new Integer(32), allPersons.get(0).getAge());