Lines 227-238
Link Here
|
227 |
public void simpleJoinFetchTest(org.eclipse.persistence.jpa.JpaEntityManager em) throws Exception { |
227 |
public void simpleJoinFetchTest(org.eclipse.persistence.jpa.JpaEntityManager em) throws Exception { |
228 |
//"SELECT e FROM Employee e LEFT JOIN FETCH e.phoneNumbers" |
228 |
//"SELECT e FROM Employee e LEFT JOIN FETCH e.phoneNumbers" |
229 |
|
229 |
|
|
|
230 |
em.createQuery("select e from Employee e left join fetch e.phoneNumbers").getResultList(); |
230 |
//use the cache |
231 |
//use the cache |
231 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
232 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
232 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
233 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
233 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
234 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
234 |
Root<Employee> root2 = cq.from(Employee.class); |
|
|
235 |
//getEntityManagerFactory().getMetamodel(); |
236 |
root.fetch(Employee_.phoneNumbers, JoinType.LEFT); |
235 |
root.fetch(Employee_.phoneNumbers, JoinType.LEFT); |
237 |
List result = em.createQuery(cq).getResultList(); |
236 |
List result = em.createQuery(cq).getResultList(); |
238 |
|
237 |
|
Lines 304-312
Link Here
|
304 |
clearCache(); |
303 |
clearCache(); |
305 |
|
304 |
|
306 |
//"SELECT OBJECT(emp) FROM Employee emp" |
305 |
//"SELECT OBJECT(emp) FROM Employee emp" |
307 |
List result = em.createQuery(em.getCriteriaBuilder().createQuery(Employee.class)).getResultList(); |
306 |
beginTransaction(em); |
308 |
|
307 |
try { |
309 |
Assert.assertTrue("Base Test Case Failed", comparer.compareObjects(result, expectedResult)); |
308 |
List result = em.createQuery(em.getCriteriaBuilder().createQuery(Employee.class)).getResultList(); |
|
|
309 |
Assert.assertTrue("Base Test Case Failed", comparer.compareObjects(result, expectedResult)); |
310 |
} finally { |
311 |
rollbackTransaction(em); |
312 |
closeEntityManager(em); |
313 |
} |
310 |
} |
314 |
} |
311 |
|
315 |
|
312 |
//Test case for ABS function in EJBQL |
316 |
//Test case for ABS function in EJBQL |
Lines 325-333
Link Here
|
325 |
getEntityManagerFactory().getMetamodel().managedType(Employee.class).getDeclaredSingularAttribute("manager", Employee.class).getType(); |
329 |
getEntityManagerFactory().getMetamodel().managedType(Employee.class).getDeclaredSingularAttribute("manager", Employee.class).getType(); |
326 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
330 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
327 |
cq.where(qb.equal( qb.abs(root.get(Employee_.salary)), expectedResult.getSalary()) ); |
331 |
cq.where(qb.equal( qb.abs(root.get(Employee_.salary)), expectedResult.getSalary()) ); |
328 |
List result = em.createQuery(cq).getResultList(); |
332 |
|
329 |
|
333 |
beginTransaction(em); |
330 |
Assert.assertTrue("ABS test failed", comparer.compareObjects(result, expectedResult)); |
334 |
try { |
|
|
335 |
List result = em.createQuery(cq).getResultList(); |
336 |
Assert.assertTrue("ABS test failed", comparer.compareObjects(result, expectedResult)); |
337 |
} finally { |
338 |
rollbackTransaction(em); |
339 |
closeEntityManager(em); |
340 |
} |
331 |
} |
341 |
} |
332 |
|
342 |
|
333 |
//Test case for Between function in EJBQL |
343 |
//Test case for Between function in EJBQL |
Lines 355-363
Link Here
|
355 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
365 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
356 |
//Cast to Expression<Comparable> since empId is BigDec and getId is Integer. between requires Comparable types; Number is not comparable |
366 |
//Cast to Expression<Comparable> since empId is BigDec and getId is Integer. between requires Comparable types; Number is not comparable |
357 |
cq.where( qb.between(root.get(Employee_.id).as(Comparable.class), qb.literal(empId), qb.literal(employee.getId()) ) ); |
367 |
cq.where( qb.between(root.get(Employee_.id).as(Comparable.class), qb.literal(empId), qb.literal(employee.getId()) ) ); |
358 |
List result = em.createQuery(cq).getResultList(); |
368 |
beginTransaction(em); |
359 |
|
369 |
try { |
360 |
Assert.assertTrue("Between test failed", comparer.compareObjects(result, expectedResult)); |
370 |
List result = em.createQuery(cq).getResultList(); |
|
|
371 |
Assert.assertTrue("Between test failed", comparer.compareObjects(result, expectedResult)); |
372 |
} finally { |
373 |
rollbackTransaction(em); |
374 |
closeEntityManager(em); |
375 |
} |
361 |
} |
376 |
} |
362 |
|
377 |
|
363 |
//Test case for concat function in EJBQL |
378 |
//Test case for concat function in EJBQL |
Lines 379-387
Link Here
|
379 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
394 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
380 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
395 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
381 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.concat(qb.literal(partOne), qb.literal(partTwo))) ); |
396 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.concat(qb.literal(partOne), qb.literal(partTwo))) ); |
382 |
List result = em.createQuery(cq).getResultList(); |
397 |
beginTransaction(em); |
383 |
|
398 |
try { |
384 |
Assert.assertTrue("Concat test failed", comparer.compareObjects(result, expectedResult)); |
399 |
List result = em.createQuery(cq).getResultList(); |
|
|
400 |
Assert.assertTrue("Concat test failed", comparer.compareObjects(result, expectedResult)); |
401 |
} finally { |
402 |
rollbackTransaction(em); |
403 |
closeEntityManager(em); |
404 |
} |
385 |
} |
405 |
} |
386 |
|
406 |
|
387 |
//Test case for concat function in EJBQL taking parameters |
407 |
//Test case for concat function in EJBQL taking parameters |
Lines 396-411
Link Here
|
396 |
String partTwo = expectedResult.getFirstName().substring(2); |
416 |
String partTwo = expectedResult.getFirstName().substring(2); |
397 |
|
417 |
|
398 |
//"SELECT OBJECT(emp) FROM Employee emp WHERE emp.firstName = CONCAT( :partOne, :partTwo )" |
418 |
//"SELECT OBJECT(emp) FROM Employee emp WHERE emp.firstName = CONCAT( :partOne, :partTwo )" |
399 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
419 |
beginTransaction(em); |
400 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
420 |
try { |
401 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
421 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
402 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.concat(qb.parameter(String.class, "partOne"), qb.parameter(String.class, "partTwo"))) ); |
422 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
403 |
Query query = em.createQuery(cq); |
423 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
404 |
query.setParameter("partOne", partOne).setParameter("partTwo", partTwo); |
424 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.concat(qb.parameter(String.class, "partOne"), qb.parameter(String.class, "partTwo"))) ); |
405 |
|
425 |
Query query = em.createQuery(cq); |
406 |
List result = query.getResultList(); |
426 |
query.setParameter("partOne", partOne).setParameter("partTwo", partTwo); |
407 |
|
427 |
|
408 |
Assert.assertTrue("Concat test failed", comparer.compareObjects(result, expectedResult)); |
428 |
List result = query.getResultList(); |
|
|
429 |
Assert.assertTrue("Concat test failed", comparer.compareObjects(result, expectedResult)); |
430 |
} finally { |
431 |
rollbackTransaction(em); |
432 |
closeEntityManager(em); |
433 |
} |
409 |
} |
434 |
} |
410 |
|
435 |
|
411 |
|
436 |
|
Lines 434-442
Link Here
|
434 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
459 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
435 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
460 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
436 |
cq.where( qb.like(qb.concat(root.get(Employee_.firstName), qb.literal("Smith") ), partOne+"Smith") ); |
461 |
cq.where( qb.like(qb.concat(root.get(Employee_.firstName), qb.literal("Smith") ), partOne+"Smith") ); |
437 |
List result = em.createQuery(cq).getResultList(); |
462 |
beginTransaction(em); |
438 |
|
463 |
try { |
439 |
Assert.assertTrue("Concat test with constraints failed", comparer.compareObjects(result, expectedResult)); |
464 |
List result = em.createQuery(cq).getResultList(); |
|
|
465 |
Assert.assertTrue("Concat test with constraints failed", comparer.compareObjects(result, expectedResult)); |
466 |
} finally { |
467 |
rollbackTransaction(em); |
468 |
closeEntityManager(em); |
469 |
} |
440 |
} |
470 |
} |
441 |
|
471 |
|
442 |
//Test case for concat function with constants in EJBQL |
472 |
//Test case for concat function with constants in EJBQL |
Lines 464-479
Link Here
|
464 |
.get(getEntityManagerFactory().getMetamodel().entity(Employee.class).getSingularAttribute("id", Integer.class)))); |
494 |
.get(getEntityManagerFactory().getMetamodel().entity(Employee.class).getSingularAttribute("id", Integer.class)))); |
465 |
//cq.select(qb.count(root.get(PhoneNumber_.owner).get(Employee_.id))); |
495 |
//cq.select(qb.count(root.get(PhoneNumber_.owner).get(Employee_.id))); |
466 |
|
496 |
|
467 |
List result = em.createQuery(cq).getResultList(); |
497 |
beginTransaction(em); |
468 |
System.out.println(" results are :"+result); |
498 |
try { |
|
|
499 |
List result = em.createQuery(cq).getResultList(); |
500 |
System.out.println(" results are :"+result); |
469 |
|
501 |
|
470 |
qb = em.getCriteriaBuilder(); |
502 |
qb = em.getCriteriaBuilder(); |
471 |
cq = qb.createQuery(Long.class); |
503 |
cq = qb.createQuery(Long.class); |
472 |
root = cq.from(PhoneNumber.class); |
504 |
root = cq.from(PhoneNumber.class); |
473 |
cq.select(qb.count(root.get(PhoneNumber_.owner).get(Employee_.id))); |
505 |
cq.select(qb.count(root.get(PhoneNumber_.owner).get(Employee_.id))); |
474 |
result = em.createQuery(cq).getResultList(); |
506 |
result = em.createQuery(cq).getResultList(); |
475 |
|
507 |
|
476 |
Assert.assertTrue("Simple Count test failed", expectedResult.elementAt(0).equals(result.get(0))); |
508 |
Assert.assertTrue("Simple Count test failed", expectedResult.elementAt(0).equals(result.get(0))); |
|
|
509 |
} finally { |
510 |
rollbackTransaction(em); |
511 |
closeEntityManager(em); |
512 |
} |
477 |
} |
513 |
} |
478 |
|
514 |
|
479 |
public void simpleThreeArgConcatTest() { |
515 |
public void simpleThreeArgConcatTest() { |
Lines 495-504
Link Here
|
495 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
531 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
496 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
532 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
497 |
cq.where( qb.equal( root.get(Employee_.firstName), qb.concat(qb.literal(partOne), qb.concat( qb.literal(partTwo), qb.literal(partThree)) ) ) ); |
533 |
cq.where( qb.equal( root.get(Employee_.firstName), qb.concat(qb.literal(partOne), qb.concat( qb.literal(partTwo), qb.literal(partThree)) ) ) ); |
498 |
List result = em.createQuery(cq).getResultList(); |
534 |
beginTransaction(em); |
499 |
|
535 |
try { |
500 |
|
536 |
List result = em.createQuery(cq).getResultList(); |
501 |
Assert.assertTrue("Concat test failed", comparer.compareObjects(result, expectedResult)); |
537 |
Assert.assertTrue("Concat test failed", comparer.compareObjects(result, expectedResult)); |
|
|
538 |
} finally { |
539 |
rollbackTransaction(em); |
540 |
closeEntityManager(em); |
541 |
} |
502 |
} |
542 |
} |
503 |
|
543 |
|
504 |
public void simpleDistinctTest() { |
544 |
public void simpleDistinctTest() { |
Lines 508-520
Link Here
|
508 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
548 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
509 |
cq.distinct(true); |
549 |
cq.distinct(true); |
510 |
cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).join(Employee_.phoneNumbers); |
550 |
cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).join(Employee_.phoneNumbers); |
511 |
List result = em.createQuery(cq).getResultList(); |
551 |
beginTransaction(em); |
|
|
552 |
try { |
553 |
List result = em.createQuery(cq).getResultList(); |
512 |
|
554 |
|
513 |
Set testSet = new HashSet(); |
555 |
Set testSet = new HashSet(); |
514 |
for (Iterator iterator = result.iterator(); iterator.hasNext(); ) { |
556 |
for (Iterator iterator = result.iterator(); iterator.hasNext(); ) { |
515 |
Employee emp = (Employee)iterator.next(); |
557 |
Employee emp = (Employee)iterator.next(); |
516 |
assertFalse("Result was not distinct", testSet.contains(emp)); |
558 |
assertFalse("Result was not distinct", testSet.contains(emp)); |
517 |
testSet.add(emp); |
559 |
testSet.add(emp); |
|
|
560 |
} |
561 |
} finally { |
562 |
rollbackTransaction(em); |
563 |
closeEntityManager(em); |
518 |
} |
564 |
} |
519 |
} |
565 |
} |
520 |
|
566 |
|
Lines 542-550
Link Here
|
542 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
588 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
543 |
cq.select(root.get(Employee_.firstName)); |
589 |
cq.select(root.get(Employee_.firstName)); |
544 |
cq.where( qb.equal(root.get(Employee_.lastName), qb.literal(emp.getLastName()))); |
590 |
cq.where( qb.equal(root.get(Employee_.lastName), qb.literal(emp.getLastName()))); |
545 |
List result = em.createQuery(cq).getResultList(); |
591 |
beginTransaction(em); |
|
|
592 |
try { |
593 |
List result = em.createQuery(cq).getResultList(); |
546 |
|
594 |
|
547 |
assertTrue("Failed to return null value", result.contains(null)); |
595 |
assertTrue("Failed to return null value", result.contains(null)); |
|
|
596 |
} finally { |
597 |
rollbackTransaction(em); |
598 |
// closeEntityManager(em); |
599 |
} |
548 |
} finally { |
600 |
} finally { |
549 |
try { |
601 |
try { |
550 |
beginTransaction(em); |
602 |
beginTransaction(em); |
Lines 557-564
Link Here
|
557 |
} |
609 |
} |
558 |
closeEntityManager(em); |
610 |
closeEntityManager(em); |
559 |
throw ex; |
611 |
throw ex; |
|
|
612 |
} finally { |
613 |
closeEntityManager(em); |
560 |
} |
614 |
} |
561 |
|
|
|
562 |
} |
615 |
} |
563 |
} |
616 |
} |
564 |
|
617 |
|
Lines 571-587
Link Here
|
571 |
root.join(Employee_.phoneNumbers); |
624 |
root.join(Employee_.phoneNumbers); |
572 |
cq.distinct(true); |
625 |
cq.distinct(true); |
573 |
cq.multiselect(root, root.get(Employee_.firstName)); |
626 |
cq.multiselect(root, root.get(Employee_.firstName)); |
574 |
List result = em.createQuery(cq).getResultList(); |
627 |
beginTransaction(em); |
|
|
628 |
try { |
629 |
List result = em.createQuery(cq).getResultList(); |
575 |
|
630 |
|
576 |
Set testSet = new HashSet(); |
631 |
Set testSet = new HashSet(); |
577 |
for (Iterator iterator = result.iterator(); iterator.hasNext(); ) { |
632 |
for (Iterator iterator = result.iterator(); iterator.hasNext(); ) { |
578 |
String ids = ""; |
633 |
String ids = ""; |
579 |
javax.persistence.Tuple row = (javax.persistence.Tuple)iterator.next(); |
634 |
javax.persistence.Tuple row = (javax.persistence.Tuple)iterator.next(); |
580 |
Employee emp = row.get(0, Employee.class); |
635 |
Employee emp = row.get(0, Employee.class); |
581 |
String string = row.get(1, String.class); |
636 |
String string = row.get(1, String.class); |
582 |
ids = "_" + emp.getId() + "_" + string; |
637 |
ids = "_" + emp.getId() + "_" + string; |
583 |
assertFalse("Result was not distinct", testSet.contains(ids)); |
638 |
assertFalse("Result was not distinct", testSet.contains(ids)); |
584 |
testSet.add(ids); |
639 |
testSet.add(ids); |
|
|
640 |
} |
641 |
} finally { |
642 |
rollbackTransaction(em); |
643 |
closeEntityManager(em); |
585 |
} |
644 |
} |
586 |
} |
645 |
} |
587 |
|
646 |
|
Lines 609-617
Link Here
|
609 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
668 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
610 |
Predicate firstOr = qb.or(qb.equal(root.get(Employee_.id), emp1.getId()), qb.equal(root.get(Employee_.id), emp2.getId())); |
669 |
Predicate firstOr = qb.or(qb.equal(root.get(Employee_.id), emp1.getId()), qb.equal(root.get(Employee_.id), emp2.getId())); |
611 |
cq.where( qb.or(firstOr, qb.equal(root.get(Employee_.id), emp3.getId())) ); |
670 |
cq.where( qb.or(firstOr, qb.equal(root.get(Employee_.id), emp3.getId())) ); |
612 |
List result = em.createQuery(cq).getResultList(); |
671 |
beginTransaction(em); |
|
|
672 |
try { |
673 |
List result = em.createQuery(cq).getResultList(); |
613 |
|
674 |
|
614 |
Assert.assertTrue("Double OR test failed", comparer.compareObjects(result, expectedResult)); |
675 |
Assert.assertTrue("Double OR test failed", comparer.compareObjects(result, expectedResult)); |
|
|
676 |
} finally { |
677 |
rollbackTransaction(em); |
678 |
closeEntityManager(em); |
679 |
} |
615 |
} |
680 |
} |
616 |
|
681 |
|
617 |
//Test case for equals in EJBQL |
682 |
//Test case for equals in EJBQL |
Lines 628-636
Link Here
|
628 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
693 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
629 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
694 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
630 |
cq.where( qb.equal(root.get(Employee_.firstName), expectedResult.getFirstName() ) ); |
695 |
cq.where( qb.equal(root.get(Employee_.firstName), expectedResult.getFirstName() ) ); |
631 |
List result = em.createQuery(cq).getResultList(); |
696 |
beginTransaction(em); |
|
|
697 |
try { |
698 |
List result = em.createQuery(cq).getResultList(); |
632 |
|
699 |
|
633 |
Assert.assertTrue("Equals test failed", comparer.compareObjects(expectedResult, result)); |
700 |
Assert.assertTrue("Equals test failed", comparer.compareObjects(expectedResult, result)); |
|
|
701 |
} finally { |
702 |
rollbackTransaction(em); |
703 |
closeEntityManager(em); |
704 |
} |
634 |
} |
705 |
} |
635 |
|
706 |
|
636 |
//Test case for equals with join in EJBQL |
707 |
//Test case for equals with join in EJBQL |
Lines 650-658
Link Here
|
650 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
721 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
651 |
Join managedEmp = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).join(Employee_.managedEmployees); |
722 |
Join managedEmp = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).join(Employee_.managedEmployees); |
652 |
cq.where( qb.equal(managedEmp.get(Employee_.address).get(Address_.city), "Ottawa" ) ); |
723 |
cq.where( qb.equal(managedEmp.get(Employee_.address).get(Address_.city), "Ottawa" ) ); |
653 |
List result = em.createQuery(cq).getResultList(); |
724 |
beginTransaction(em); |
|
|
725 |
try { |
726 |
List result = em.createQuery(cq).getResultList(); |
654 |
|
727 |
|
655 |
Assert.assertTrue("Equals test with Join failed", comparer.compareObjects(result, expectedResult)); |
728 |
Assert.assertTrue("Equals test with Join failed", comparer.compareObjects(result, expectedResult)); |
|
|
729 |
} finally { |
730 |
rollbackTransaction(em); |
731 |
closeEntityManager(em); |
732 |
} |
656 |
} |
733 |
} |
657 |
|
734 |
|
658 |
public void collectionMemberIdentifierEqualsTest() { |
735 |
public void collectionMemberIdentifierEqualsTest() { |
Lines 672-680
Link Here
|
672 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
749 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
673 |
Join phones = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).join(Employee_.phoneNumbers); |
750 |
Join phones = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).join(Employee_.phoneNumbers); |
674 |
cq.where( qb.equal(phones, qb.parameter(PhoneNumber.class, "1") ) ); |
751 |
cq.where( qb.equal(phones, qb.parameter(PhoneNumber.class, "1") ) ); |
675 |
List result = em.createQuery(cq).setParameter("1", phoneNumber).getResultList(); |
752 |
beginTransaction(em); |
|
|
753 |
try { |
754 |
List result = em.createQuery(cq).setParameter("1", phoneNumber).getResultList(); |
676 |
|
755 |
|
677 |
Assert.assertTrue("CollectionMemberIdentifierEqualsTest failed", comparer.compareObjects(expectedResult, result)); |
756 |
Assert.assertTrue("CollectionMemberIdentifierEqualsTest failed", comparer.compareObjects(expectedResult, result)); |
|
|
757 |
} finally { |
758 |
rollbackTransaction(em); |
759 |
closeEntityManager(em); |
760 |
} |
678 |
} |
761 |
} |
679 |
|
762 |
|
680 |
public void abstractSchemaIdentifierEqualsTest() { |
763 |
public void abstractSchemaIdentifierEqualsTest() { |
Lines 689-697
Link Here
|
689 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
772 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
690 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
773 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
691 |
cq.where( qb.equal(root, qb.parameter(Employee.class, "1") ) ); |
774 |
cq.where( qb.equal(root, qb.parameter(Employee.class, "1") ) ); |
692 |
List result = em.createQuery(cq).setParameter("1", expectedResult).getResultList(); |
775 |
beginTransaction(em); |
|
|
776 |
try { |
777 |
List result = em.createQuery(cq).setParameter("1", expectedResult).getResultList(); |
693 |
|
778 |
|
694 |
Assert.assertTrue("abstractSchemaIdentifierEqualsTest failed", comparer.compareObjects(expectedResult, result)); |
779 |
Assert.assertTrue("abstractSchemaIdentifierEqualsTest failed", comparer.compareObjects(expectedResult, result)); |
|
|
780 |
} finally { |
781 |
rollbackTransaction(em); |
782 |
closeEntityManager(em); |
783 |
} |
695 |
} |
784 |
} |
696 |
|
785 |
|
697 |
public void abstractSchemaIdentifierNotEqualsTest() { |
786 |
public void abstractSchemaIdentifierNotEqualsTest() { |
Lines 710-718
Link Here
|
710 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
799 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
711 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
800 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
712 |
cq.where( qb.notEqual(root, qb.parameter(Employee.class, "1") ) ); |
801 |
cq.where( qb.notEqual(root, qb.parameter(Employee.class, "1") ) ); |
713 |
List result = em.createQuery(cq).setParameter("1", emp).getResultList(); |
802 |
beginTransaction(em); |
|
|
803 |
try { |
804 |
List result = em.createQuery(cq).setParameter("1", emp).getResultList(); |
714 |
|
805 |
|
715 |
Assert.assertTrue("abstractSchemaIdentifierNotEqualsTest failed", comparer.compareObjects(result, expectedResult)); |
806 |
Assert.assertTrue("abstractSchemaIdentifierNotEqualsTest failed", comparer.compareObjects(result, expectedResult)); |
|
|
807 |
} finally { |
808 |
rollbackTransaction(em); |
809 |
closeEntityManager(em); |
810 |
} |
716 |
} |
811 |
} |
717 |
|
812 |
|
718 |
public void simpleInOneDotTest() { |
813 |
public void simpleInOneDotTest() { |
Lines 744-752
Link Here
|
744 |
Predicate firstAnd = qb.and( qb.equal(phone.get(PhoneNumber_.areaCode), empPhoneNumbers.getAreaCode()), |
839 |
Predicate firstAnd = qb.and( qb.equal(phone.get(PhoneNumber_.areaCode), empPhoneNumbers.getAreaCode()), |
745 |
qb.equal(root.get(Employee_.firstName), expectedResult.getFirstName())); |
840 |
qb.equal(root.get(Employee_.firstName), expectedResult.getFirstName())); |
746 |
cq.where( qb.and(firstAnd, qb.equal(root.get(Employee_.lastName), expectedResult.getLastName())) ); |
841 |
cq.where( qb.and(firstAnd, qb.equal(root.get(Employee_.lastName), expectedResult.getLastName())) ); |
747 |
Employee result = em.createQuery(cq).getSingleResult(); |
842 |
beginTransaction(em); |
|
|
843 |
try { |
844 |
Employee result = em.createQuery(cq).getSingleResult(); |
748 |
|
845 |
|
749 |
Assert.assertTrue("Simple In Dot Test failed", comparer.compareObjects(result, expectedResult)); |
846 |
Assert.assertTrue("Simple In Dot Test failed", comparer.compareObjects(result, expectedResult)); |
|
|
847 |
} finally { |
848 |
rollbackTransaction(em); |
849 |
closeEntityManager(em); |
850 |
} |
750 |
} |
851 |
} |
751 |
|
852 |
|
752 |
public void selectAverageQueryForByteColumnTest() { |
853 |
public void selectAverageQueryForByteColumnTest() { |
Lines 758-766
Link Here
|
758 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
859 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
759 |
//casting types again. Avg takes a number, so Path<Object> won't compile |
860 |
//casting types again. Avg takes a number, so Path<Object> won't compile |
760 |
cq.select( qb.avg( root.get(Employee_.salary) ) ); |
861 |
cq.select( qb.avg( root.get(Employee_.salary) ) ); |
761 |
Object result = em.createQuery(cq).getSingleResult(); |
862 |
beginTransaction(em); |
|
|
863 |
try { |
864 |
Object result = em.createQuery(cq).getSingleResult(); |
762 |
|
865 |
|
763 |
Assert.assertTrue("AVG result type [" + result.getClass() + "] not of type Double", result.getClass() == Double.class); |
866 |
Assert.assertTrue("AVG result type [" + result.getClass() + "] not of type Double", result.getClass() == Double.class); |
|
|
867 |
} finally { |
868 |
rollbackTransaction(em); |
869 |
closeEntityManager(em); |
870 |
} |
764 |
} |
871 |
} |
765 |
|
872 |
|
766 |
public void simpleInTest() { |
873 |
public void simpleInTest() { |
Lines 774-782
Link Here
|
774 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
881 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
775 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
882 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
776 |
cq.where( qb.in(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.id)).value(expectedResult.getId()) ); |
883 |
cq.where( qb.in(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.id)).value(expectedResult.getId()) ); |
777 |
List result = em.createQuery(cq).getResultList(); |
884 |
beginTransaction(em); |
|
|
885 |
try { |
886 |
List result = em.createQuery(cq).getResultList(); |
778 |
|
887 |
|
779 |
Assert.assertTrue("Simple In Test failed", comparer.compareObjects(result, expectedResult)); |
888 |
Assert.assertTrue("Simple In Test failed", comparer.compareObjects(result, expectedResult)); |
|
|
889 |
} finally { |
890 |
rollbackTransaction(em); |
891 |
closeEntityManager(em); |
892 |
} |
780 |
} |
893 |
} |
781 |
|
894 |
|
782 |
public void simpleInListTest() { |
895 |
public void simpleInListTest() { |
Lines 796-804
Link Here
|
796 |
//passing a collection to IN might not be supported in criteria api, trying to get around it by hidding the type |
909 |
//passing a collection to IN might not be supported in criteria api, trying to get around it by hidding the type |
797 |
ParameterExpression exp = qb.parameter(List.class, "result"); |
910 |
ParameterExpression exp = qb.parameter(List.class, "result"); |
798 |
cq.where( qb.in(root.get(Employee_.id)).value(exp) ); |
911 |
cq.where( qb.in(root.get(Employee_.id)).value(exp) ); |
799 |
List result = em.createQuery(cq).setParameter("result", expectedResultList).getResultList(); |
912 |
beginTransaction(em); |
|
|
913 |
try { |
914 |
List result = em.createQuery(cq).setParameter("result", expectedResultList).getResultList(); |
800 |
|
915 |
|
801 |
Assert.assertTrue("Simple In Test failed", comparer.compareObjects(result, expectedResult)); |
916 |
Assert.assertTrue("Simple In Test failed", comparer.compareObjects(result, expectedResult)); |
|
|
917 |
} finally { |
918 |
rollbackTransaction(em); |
919 |
closeEntityManager(em); |
920 |
} |
802 |
} |
921 |
} |
803 |
|
922 |
|
804 |
public void simpleLengthTest() { |
923 |
public void simpleLengthTest() { |
Lines 816-825
Link Here
|
816 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
935 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
817 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
936 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
818 |
cq.where( qb.equal( qb.length(root.get(Employee_.firstName)) , expectedResult.getFirstName().length()) ); |
937 |
cq.where( qb.equal( qb.length(root.get(Employee_.firstName)) , expectedResult.getFirstName().length()) ); |
819 |
|
938 |
beginTransaction(em); |
820 |
List result = em.createQuery(cq).getResultList(); |
939 |
try { |
|
|
940 |
List result = em.createQuery(cq).getResultList(); |
821 |
|
941 |
|
822 |
Assert.assertTrue("Simple Length Test failed", comparer.compareObjects(result, expectedResult)); |
942 |
Assert.assertTrue("Simple Length Test failed", comparer.compareObjects(result, expectedResult)); |
|
|
943 |
} finally { |
944 |
rollbackTransaction(em); |
945 |
closeEntityManager(em); |
946 |
} |
823 |
} |
947 |
} |
824 |
|
948 |
|
825 |
|
949 |
|
Lines 836-845
Link Here
|
836 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
960 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
837 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
961 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
838 |
cq.where( qb.like( root.get(Employee_.firstName), partialFirstName) ); |
962 |
cq.where( qb.like( root.get(Employee_.firstName), partialFirstName) ); |
|
|
963 |
beginTransaction(em); |
964 |
try { |
965 |
List result = em.createQuery(cq).getResultList(); |
839 |
|
966 |
|
840 |
List result = em.createQuery(cq).getResultList(); |
967 |
Assert.assertTrue("Simple Like Test failed", comparer.compareObjects(result, expectedResult)); |
841 |
|
968 |
} finally { |
842 |
Assert.assertTrue("Simple Like Test failed", comparer.compareObjects(result, expectedResult)); |
969 |
rollbackTransaction(em); |
|
|
970 |
closeEntityManager(em); |
971 |
} |
843 |
} |
972 |
} |
844 |
|
973 |
|
845 |
public void simpleLikeTestWithParameter() { |
974 |
public void simpleLikeTestWithParameter() { |
Lines 867-876
Link Here
|
867 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
996 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
868 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
997 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
869 |
cq.where( qb.like( root.get(Employee_.firstName), qb.parameter(String.class, "1")) ); |
998 |
cq.where( qb.like( root.get(Employee_.firstName), qb.parameter(String.class, "1")) ); |
|
|
999 |
beginTransaction(em); |
1000 |
try { |
1001 |
List result = em.createQuery(cq).setParameter("1", partialFirstName).getResultList(); |
870 |
|
1002 |
|
871 |
List result = em.createQuery(cq).setParameter("1", partialFirstName).getResultList(); |
1003 |
Assert.assertTrue("Simple Like Test with Parameter failed", comparer.compareObjects(result, expectedResult)); |
872 |
|
1004 |
} finally { |
873 |
Assert.assertTrue("Simple Like Test with Parameter failed", comparer.compareObjects(result, expectedResult)); |
1005 |
rollbackTransaction(em); |
|
|
1006 |
closeEntityManager(em); |
1007 |
} |
874 |
} |
1008 |
} |
875 |
|
1009 |
|
876 |
public void simpleLikeEscapeTestWithParameter() { |
1010 |
public void simpleLikeEscapeTestWithParameter() { |
Lines 906-915
Link Here
|
906 |
patternString = "234 RUBY \\_Way"; |
1040 |
patternString = "234 RUBY \\_Way"; |
907 |
escChar = new Character('\\'); |
1041 |
escChar = new Character('\\'); |
908 |
} |
1042 |
} |
|
|
1043 |
beginTransaction(em); |
1044 |
try { |
1045 |
List result = em.createQuery(cq).setParameter("pattern", patternString).setParameter("esc", escChar).getResultList(); |
909 |
|
1046 |
|
910 |
List result = em.createQuery(cq).setParameter("pattern", patternString).setParameter("esc", escChar).getResultList(); |
1047 |
Assert.assertTrue("Simple Escape Underscore test failed", comparer.compareObjects(result, expectedResult)); |
911 |
|
1048 |
} finally { |
912 |
Assert.assertTrue("Simple Escape Underscore test failed", comparer.compareObjects(result, expectedResult)); |
1049 |
rollbackTransaction(em); |
|
|
1050 |
closeEntityManager(em); |
1051 |
} |
913 |
} |
1052 |
} |
914 |
|
1053 |
|
915 |
public void simpleNotBetweenTest() { |
1054 |
public void simpleNotBetweenTest() { |
Lines 935-945
Link Here
|
935 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1074 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
936 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1075 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
937 |
cq.where( qb.not(qb.between(root.get(Employee_.id), emp1.getId(), emp2.getId())) ); |
1076 |
cq.where( qb.not(qb.between(root.get(Employee_.id), emp1.getId(), emp2.getId())) ); |
|
|
1077 |
beginTransaction(em); |
1078 |
try { |
1079 |
List result = em.createQuery(cq).getResultList(); |
938 |
|
1080 |
|
939 |
List result = em.createQuery(cq).getResultList(); |
1081 |
Assert.assertTrue("Simple Not Between Test failed", comparer.compareObjects(result, expectedResult)); |
940 |
|
1082 |
} finally { |
941 |
Assert.assertTrue("Simple Not Between Test failed", comparer.compareObjects(result, expectedResult)); |
1083 |
rollbackTransaction(em); |
942 |
|
1084 |
closeEntityManager(em); |
|
|
1085 |
} |
943 |
} |
1086 |
} |
944 |
|
1087 |
|
945 |
public void simpleNotEqualsVariablesInteger() { |
1088 |
public void simpleNotEqualsVariablesInteger() { |
Lines 957-967
Link Here
|
957 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1100 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
958 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1101 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
959 |
cq.where( qb.notEqual(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.id), emp.getId()) ); |
1102 |
cq.where( qb.notEqual(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.id), emp.getId()) ); |
|
|
1103 |
beginTransaction(em); |
1104 |
try { |
1105 |
List result = em.createQuery(cq).getResultList(); |
960 |
|
1106 |
|
961 |
List result = em.createQuery(cq).getResultList(); |
1107 |
Assert.assertTrue("Simple Like Test with Parameter failed", comparer.compareObjects(result, expectedResult)); |
962 |
|
1108 |
} finally { |
963 |
Assert.assertTrue("Simple Like Test with Parameter failed", comparer.compareObjects(result, expectedResult)); |
1109 |
rollbackTransaction(em); |
964 |
|
1110 |
closeEntityManager(em); |
|
|
1111 |
} |
965 |
} |
1112 |
} |
966 |
|
1113 |
|
967 |
public void simpleNotInTest() { |
1114 |
public void simpleNotInTest() { |
Lines 988-997
Link Here
|
988 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1135 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
989 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1136 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
990 |
cq.where( qb.not(qb.in(root.get(Employee_.id)).value(emp.getId())) ); |
1137 |
cq.where( qb.not(qb.in(root.get(Employee_.id)).value(emp.getId())) ); |
|
|
1138 |
beginTransaction(em); |
1139 |
try { |
1140 |
List result = em.createQuery(cq).getResultList(); |
991 |
|
1141 |
|
992 |
List result = em.createQuery(cq).getResultList(); |
1142 |
Assert.assertTrue("Simple Not In Test failed", comparer.compareObjects(result, expectedResult)); |
993 |
|
1143 |
} finally { |
994 |
Assert.assertTrue("Simple Not In Test failed", comparer.compareObjects(result, expectedResult)); |
1144 |
rollbackTransaction(em); |
|
|
1145 |
closeEntityManager(em); |
1146 |
} |
995 |
} |
1147 |
} |
996 |
|
1148 |
|
997 |
public void simpleNotLikeTest() { |
1149 |
public void simpleNotLikeTest() { |
Lines 1017-1026
Link Here
|
1017 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1169 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1018 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1170 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1019 |
cq.where( qb.notLike(root.get(Employee_.firstName), partialFirstName ) ); |
1171 |
cq.where( qb.notLike(root.get(Employee_.firstName), partialFirstName ) ); |
|
|
1172 |
beginTransaction(em); |
1173 |
try { |
1174 |
List result = em.createQuery(cq).getResultList(); |
1020 |
|
1175 |
|
1021 |
List result = em.createQuery(cq).getResultList(); |
1176 |
Assert.assertTrue("Simple Not Like Test failed", comparer.compareObjects(result, expectedResult)); |
1022 |
|
1177 |
} finally { |
1023 |
Assert.assertTrue("Simple Not Like Test failed", comparer.compareObjects(result, expectedResult)); |
1178 |
rollbackTransaction(em); |
|
|
1179 |
closeEntityManager(em); |
1180 |
} |
1024 |
} |
1181 |
} |
1025 |
|
1182 |
|
1026 |
public void simpleOrFollowedByAndTest() { |
1183 |
public void simpleOrFollowedByAndTest() { |
Lines 1039-1049
Link Here
|
1039 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1196 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1040 |
Predicate andOpp = qb.and(qb.equal(root.get(Employee_.id), emp2.getId()), qb.equal(root.get(Employee_.id), emp3.getId())); |
1197 |
Predicate andOpp = qb.and(qb.equal(root.get(Employee_.id), emp2.getId()), qb.equal(root.get(Employee_.id), emp3.getId())); |
1041 |
cq.where( qb.or( qb.equal(root.get(Employee_.id), emp1.getId()), andOpp ) ); |
1198 |
cq.where( qb.or( qb.equal(root.get(Employee_.id), emp1.getId()), andOpp ) ); |
|
|
1199 |
beginTransaction(em); |
1200 |
try { |
1201 |
List result = em.createQuery(cq).getResultList(); |
1042 |
|
1202 |
|
1043 |
List result = em.createQuery(cq).getResultList(); |
1203 |
Assert.assertTrue("Simple Or followed by And Test failed", comparer.compareObjects(result, expectedResult)); |
1044 |
|
1204 |
} finally { |
1045 |
Assert.assertTrue("Simple Or followed by And Test failed", comparer.compareObjects(result, expectedResult)); |
1205 |
rollbackTransaction(em); |
1046 |
|
1206 |
closeEntityManager(em); |
|
|
1207 |
} |
1047 |
} |
1208 |
} |
1048 |
|
1209 |
|
1049 |
public void simpleOrFollowedByAndTestWithStaticNames() { |
1210 |
public void simpleOrFollowedByAndTestWithStaticNames() { |
Lines 1067-1076
Link Here
|
1067 |
javax.persistence.criteria.Expression empFName = root.get(Employee_.firstName); |
1228 |
javax.persistence.criteria.Expression empFName = root.get(Employee_.firstName); |
1068 |
Predicate andOpp = qb.and(qb.equal(empFName, "Bob"), qb.equal(root.get(Employee_.lastName), "Smith")); |
1229 |
Predicate andOpp = qb.and(qb.equal(empFName, "Bob"), qb.equal(root.get(Employee_.lastName), "Smith")); |
1069 |
cq.where( qb.or( qb.equal(empFName, "John"), andOpp ) ); |
1230 |
cq.where( qb.or( qb.equal(empFName, "John"), andOpp ) ); |
|
|
1231 |
beginTransaction(em); |
1232 |
try { |
1233 |
List result = em.createQuery(cq).getResultList(); |
1070 |
|
1234 |
|
1071 |
List result = em.createQuery(cq).getResultList(); |
1235 |
Assert.assertTrue("Simple Or followed by And With Static Names Test failed", comparer.compareObjects(result, expectedResult)); |
1072 |
|
1236 |
} finally { |
1073 |
Assert.assertTrue("Simple Or followed by And With Static Names Test failed", comparer.compareObjects(result, expectedResult)); |
1237 |
rollbackTransaction(em); |
|
|
1238 |
closeEntityManager(em); |
1239 |
} |
1074 |
} |
1240 |
} |
1075 |
|
1241 |
|
1076 |
public void simpleOrTest() { |
1242 |
public void simpleOrTest() { |
Lines 1090-1099
Link Here
|
1090 |
javax.persistence.criteria.Expression empId = root.get(Employee_.id); |
1256 |
javax.persistence.criteria.Expression empId = root.get(Employee_.id); |
1091 |
cq.where( qb.or( qb.equal(empId, emp1.getId()), qb.equal(empId, emp2.getId()) ) ); |
1257 |
cq.where( qb.or( qb.equal(empId, emp1.getId()), qb.equal(empId, emp2.getId()) ) ); |
1092 |
|
1258 |
|
1093 |
List result = em.createQuery(cq).getResultList(); |
1259 |
beginTransaction(em); |
1094 |
clearCache(); |
1260 |
try { |
|
|
1261 |
List result = em.createQuery(cq).getResultList(); |
1262 |
clearCache(); |
1095 |
|
1263 |
|
1096 |
Assert.assertTrue("Simple Or Test failed", comparer.compareObjects(result, expectedResult)); |
1264 |
Assert.assertTrue("Simple Or Test failed", comparer.compareObjects(result, expectedResult)); |
|
|
1265 |
} finally { |
1266 |
rollbackTransaction(em); |
1267 |
closeEntityManager(em); |
1268 |
} |
1097 |
} |
1269 |
} |
1098 |
|
1270 |
|
1099 |
public void simpleParameterTest() { |
1271 |
public void simpleParameterTest() { |
Lines 1122-1131
Link Here
|
1122 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1294 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1123 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1295 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1124 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.parameter(String.class,parameterName)) ); |
1296 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.parameter(String.class,parameterName)) ); |
|
|
1297 |
beginTransaction(em); |
1298 |
try { |
1299 |
List result = em.createQuery(cq).setParameter(parameterName, expectedResult.getFirstName()).getResultList(); |
1125 |
|
1300 |
|
1126 |
List result = em.createQuery(cq).setParameter(parameterName, expectedResult.getFirstName()).getResultList(); |
1301 |
Assert.assertTrue("Simple Parameter Test failed", comparer.compareObjects(result, expectedResult)); |
1127 |
|
1302 |
} finally { |
1128 |
Assert.assertTrue("Simple Parameter Test failed", comparer.compareObjects(result, expectedResult)); |
1303 |
rollbackTransaction(em); |
|
|
1304 |
closeEntityManager(em); |
1305 |
} |
1129 |
} |
1306 |
} |
1130 |
|
1307 |
|
1131 |
public void simpleParameterTestChangingParameters() { |
1308 |
public void simpleParameterTestChangingParameters() { |
Lines 1163-1178
Link Here
|
1163 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1340 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1164 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.parameter(String.class, "1")) ); |
1341 |
cq.where( qb.equal(root.get(Employee_.firstName), qb.parameter(String.class, "1")) ); |
1165 |
|
1342 |
|
1166 |
List firstResultSet = em.createQuery(cq).setParameter("1", firstParameters.get(0)).getResultList(); |
1343 |
beginTransaction(em); |
1167 |
clearCache(); |
1344 |
try { |
1168 |
List secondResultSet = em.createQuery(cq).setParameter("1", secondParameters.get(0)).getResultList(); |
1345 |
List firstResultSet = em.createQuery(cq).setParameter("1", firstParameters.get(0)).getResultList(); |
1169 |
clearCache(); |
1346 |
clearCache(); |
1170 |
Vector result = new Vector(); |
1347 |
List secondResultSet = em.createQuery(cq).setParameter("1", secondParameters.get(0)).getResultList(); |
1171 |
result.addAll(firstResultSet); |
1348 |
clearCache(); |
1172 |
result.addAll(secondResultSet); |
1349 |
Vector result = new Vector(); |
|
|
1350 |
result.addAll(firstResultSet); |
1351 |
result.addAll(secondResultSet); |
1173 |
|
1352 |
|
1174 |
Assert.assertTrue("Simple Parameter Test Changing Parameters failed", comparer.compareObjects(result, expectedResult)); |
1353 |
Assert.assertTrue("Simple Parameter Test Changing Parameters failed", comparer.compareObjects(result, expectedResult)); |
1175 |
|
1354 |
} finally { |
|
|
1355 |
rollbackTransaction(em); |
1356 |
closeEntityManager(em); |
1357 |
} |
1176 |
} |
1358 |
} |
1177 |
|
1359 |
|
1178 |
public void simpleReverseAbsTest() { |
1360 |
public void simpleReverseAbsTest() { |
Lines 1187-1197
Link Here
|
1187 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1369 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1188 |
//equal can't take an int as the first argument, it must be an expression |
1370 |
//equal can't take an int as the first argument, it must be an expression |
1189 |
cq.where( qb.equal(qb.literal(expectedResult.getSalary()), qb.abs(root.get(Employee_.salary))) ); |
1371 |
cq.where( qb.equal(qb.literal(expectedResult.getSalary()), qb.abs(root.get(Employee_.salary))) ); |
|
|
1372 |
beginTransaction(em); |
1373 |
try { |
1374 |
List result = em.createQuery(cq).getResultList(); |
1190 |
|
1375 |
|
1191 |
List result = em.createQuery(cq).getResultList(); |
1376 |
Assert.assertTrue("Simple Reverse Abs test failed", comparer.compareObjects(result, expectedResult)); |
1192 |
|
1377 |
} finally { |
1193 |
Assert.assertTrue("Simple Reverse Abs test failed", comparer.compareObjects(result, expectedResult)); |
1378 |
rollbackTransaction(em); |
1194 |
|
1379 |
closeEntityManager(em); |
|
|
1380 |
} |
1195 |
} |
1381 |
} |
1196 |
|
1382 |
|
1197 |
public void simpleReverseConcatTest() { |
1383 |
public void simpleReverseConcatTest() { |
Lines 1210-1219
Link Here
|
1210 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1396 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1211 |
//One argument to concat must be an expression |
1397 |
//One argument to concat must be an expression |
1212 |
cq.where( qb.equal(qb.concat(partOne, qb.literal(partTwo)), root.get(Employee_.firstName)) ); |
1398 |
cq.where( qb.equal(qb.concat(partOne, qb.literal(partTwo)), root.get(Employee_.firstName)) ); |
|
|
1399 |
beginTransaction(em); |
1400 |
try { |
1401 |
List result = em.createQuery(cq).getResultList(); |
1213 |
|
1402 |
|
1214 |
List result = em.createQuery(cq).getResultList(); |
1403 |
Assert.assertTrue("Simple Reverse Concat test failed", comparer.compareObjects(result, expectedResult)); |
1215 |
|
1404 |
} finally { |
1216 |
Assert.assertTrue("Simple Reverse Concat test failed", comparer.compareObjects(result, expectedResult)); |
1405 |
rollbackTransaction(em); |
|
|
1406 |
closeEntityManager(em); |
1407 |
} |
1217 |
} |
1408 |
} |
1218 |
|
1409 |
|
1219 |
public void simpleReverseEqualsTest() { |
1410 |
public void simpleReverseEqualsTest() { |
Lines 1228-1237
Link Here
|
1228 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1419 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1229 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1420 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1230 |
cq.where( qb.equal(qb.literal(expectedResult.getFirstName()), root.get(Employee_.firstName)) ); |
1421 |
cq.where( qb.equal(qb.literal(expectedResult.getFirstName()), root.get(Employee_.firstName)) ); |
|
|
1422 |
beginTransaction(em); |
1423 |
try { |
1424 |
List result = em.createQuery(cq).getResultList(); |
1231 |
|
1425 |
|
1232 |
List result = em.createQuery(cq).getResultList(); |
1426 |
Assert.assertTrue("Simple Reverse Equals test failed", comparer.compareObjects(result, expectedResult)); |
1233 |
|
1427 |
} finally { |
1234 |
Assert.assertTrue("Simple Reverse Equals test failed", comparer.compareObjects(result, expectedResult)); |
1428 |
rollbackTransaction(em); |
|
|
1429 |
closeEntityManager(em); |
1430 |
} |
1235 |
} |
1431 |
} |
1236 |
|
1432 |
|
1237 |
public void simpleReverseLengthTest() { |
1433 |
public void simpleReverseLengthTest() { |
Lines 1246-1256
Link Here
|
1246 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1442 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1247 |
javax.persistence.criteria.Expression<Integer> length = qb.length(root.get(Employee_.firstName)); |
1443 |
javax.persistence.criteria.Expression<Integer> length = qb.length(root.get(Employee_.firstName)); |
1248 |
cq.where( qb.equal(qb.literal(expectedResult.getFirstName().length()), length) ); |
1444 |
cq.where( qb.equal(qb.literal(expectedResult.getFirstName().length()), length) ); |
|
|
1445 |
beginTransaction(em); |
1446 |
try { |
1447 |
List result = em.createQuery(cq).getResultList(); |
1249 |
|
1448 |
|
1250 |
List result = em.createQuery(cq).getResultList(); |
1449 |
Assert.assertTrue("Simple Reverse Length test failed", comparer.compareObjects(result, expectedResult)); |
1251 |
|
1450 |
} finally { |
1252 |
Assert.assertTrue("Simple Reverse Length test failed", comparer.compareObjects(result, expectedResult)); |
1451 |
rollbackTransaction(em); |
1253 |
|
1452 |
closeEntityManager(em); |
|
|
1453 |
} |
1254 |
} |
1454 |
} |
1255 |
|
1455 |
|
1256 |
public void simpleReverseParameterTest() { |
1456 |
public void simpleReverseParameterTest() { |
Lines 1280-1289
Link Here
|
1280 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1480 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1281 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1481 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1282 |
cq.where( qb.equal(qb.parameter(String.class, "1"), root.get(Employee_.firstName)) ); |
1482 |
cq.where( qb.equal(qb.parameter(String.class, "1"), root.get(Employee_.firstName)) ); |
|
|
1483 |
beginTransaction(em); |
1484 |
try { |
1485 |
List result = em.createQuery(cq).setParameter("1", parameters.get(0)).getResultList(); |
1283 |
|
1486 |
|
1284 |
List result = em.createQuery(cq).setParameter("1", parameters.get(0)).getResultList(); |
1487 |
Assert.assertTrue("Simple Reverse Parameter test failed", comparer.compareObjects(result, expectedResult)); |
1285 |
|
1488 |
} finally { |
1286 |
Assert.assertTrue("Simple Reverse Parameter test failed", comparer.compareObjects(result, expectedResult)); |
1489 |
rollbackTransaction(em); |
|
|
1490 |
closeEntityManager(em); |
1491 |
} |
1287 |
} |
1492 |
} |
1288 |
|
1493 |
|
1289 |
public void simpleReverseSqrtTest() { |
1494 |
public void simpleReverseSqrtTest() { |
Lines 1307-1317
Link Here
|
1307 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1512 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1308 |
javax.persistence.criteria.Expression<Double> sqrt = qb.sqrt(root.get(Employee_.salary)); |
1513 |
javax.persistence.criteria.Expression<Double> sqrt = qb.sqrt(root.get(Employee_.salary)); |
1309 |
cq.where( qb.equal(qb.literal(salarySquareRoot), sqrt) ); |
1514 |
cq.where( qb.equal(qb.literal(salarySquareRoot), sqrt) ); |
|
|
1515 |
beginTransaction(em); |
1516 |
try { |
1517 |
List result = em.createQuery(cq).getResultList(); |
1310 |
|
1518 |
|
1311 |
List result = em.createQuery(cq).getResultList(); |
1519 |
Assert.assertTrue("Simple Reverse Square Root test failed", comparer.compareObjects(result, expectedResult)); |
1312 |
|
1520 |
} finally { |
1313 |
Assert.assertTrue("Simple Reverse Square Root test failed", comparer.compareObjects(result, expectedResult)); |
1521 |
rollbackTransaction(em); |
1314 |
|
1522 |
closeEntityManager(em); |
|
|
1523 |
} |
1315 |
} |
1524 |
} |
1316 |
|
1525 |
|
1317 |
public void simpleReverseSubstringTest() { |
1526 |
public void simpleReverseSubstringTest() { |
Lines 1331-1341
Link Here
|
1331 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1540 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1332 |
javax.persistence.criteria.Expression<String> substring = qb.substring(root.get(Employee_.firstName), 1, 2); |
1541 |
javax.persistence.criteria.Expression<String> substring = qb.substring(root.get(Employee_.firstName), 1, 2); |
1333 |
cq.where( qb.equal(qb.literal(firstNamePart), substring) ); |
1542 |
cq.where( qb.equal(qb.literal(firstNamePart), substring) ); |
|
|
1543 |
beginTransaction(em); |
1544 |
try { |
1545 |
List result = em.createQuery(cq).getResultList(); |
1334 |
|
1546 |
|
1335 |
List result = em.createQuery(cq).getResultList(); |
1547 |
Assert.assertTrue("Simple Reverse SubString test failed", comparer.compareObjects(result, expectedResult)); |
1336 |
|
1548 |
} finally { |
1337 |
Assert.assertTrue("Simple Reverse SubString test failed", comparer.compareObjects(result, expectedResult)); |
1549 |
rollbackTransaction(em); |
1338 |
|
1550 |
closeEntityManager(em); |
|
|
1551 |
} |
1339 |
} |
1552 |
} |
1340 |
|
1553 |
|
1341 |
|
1554 |
|
Lines 1359-1369
Link Here
|
1359 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1572 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1360 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1573 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1361 |
cq.where( qb.equal(qb.sqrt(root.get(Employee_.salary)), salarySquareRoot) ); |
1574 |
cq.where( qb.equal(qb.sqrt(root.get(Employee_.salary)), salarySquareRoot) ); |
|
|
1575 |
beginTransaction(em); |
1576 |
try { |
1577 |
List result = em.createQuery(cq).getResultList(); |
1362 |
|
1578 |
|
1363 |
List result = em.createQuery(cq).getResultList(); |
1579 |
Assert.assertTrue("Simple Square Root test failed", comparer.compareObjects(result, expectedResult)); |
1364 |
|
1580 |
} finally { |
1365 |
Assert.assertTrue("Simple Square Root test failed", comparer.compareObjects(result, expectedResult)); |
1581 |
rollbackTransaction(em); |
1366 |
|
1582 |
closeEntityManager(em); |
|
|
1583 |
} |
1367 |
} |
1584 |
} |
1368 |
|
1585 |
|
1369 |
public void simpleSubstringTest() { |
1586 |
public void simpleSubstringTest() { |
Lines 1380-1388
Link Here
|
1380 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1597 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1381 |
javax.persistence.criteria.Expression<String> substring = qb.substring(root.get(Employee_.firstName), 1, 2); |
1598 |
javax.persistence.criteria.Expression<String> substring = qb.substring(root.get(Employee_.firstName), 1, 2); |
1382 |
cq.where( qb.equal(substring, firstNamePart) ); |
1599 |
cq.where( qb.equal(substring, firstNamePart) ); |
1383 |
|
1600 |
beginTransaction(em); |
1384 |
List result = em.createQuery(cq).getResultList(); |
1601 |
try { |
1385 |
Assert.assertTrue("Simple SubString test failed", comparer.compareObjects(result, expectedResult)); |
1602 |
List result = em.createQuery(cq).getResultList(); |
|
|
1603 |
Assert.assertTrue("Simple SubString test failed", comparer.compareObjects(result, expectedResult)); |
1604 |
} finally { |
1605 |
rollbackTransaction(em); |
1606 |
closeEntityManager(em); |
1607 |
} |
1386 |
} |
1608 |
} |
1387 |
|
1609 |
|
1388 |
public void simpleNullTest() { |
1610 |
public void simpleNullTest() { |
Lines 1413-1427
Link Here
|
1413 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1635 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1414 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1636 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1415 |
cq.where( qb.isNull(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.firstName)) ); |
1637 |
cq.where( qb.isNull(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.firstName)) ); |
|
|
1638 |
beginTransaction(em); |
1639 |
try { |
1640 |
List result = em.createQuery(cq).getResultList(); |
1416 |
|
1641 |
|
1417 |
List result = em.createQuery(cq).getResultList(); |
1642 |
uow = clientSession.acquireUnitOfWork(); |
|
|
1643 |
uow.deleteObject(nullEmployee); |
1644 |
uow.commit(); |
1418 |
|
1645 |
|
1419 |
uow = clientSession.acquireUnitOfWork(); |
1646 |
Assert.assertTrue("Simple Null test failed", comparer.compareObjects(result, expectedResult)); |
1420 |
uow.deleteObject(nullEmployee); |
1647 |
} finally { |
1421 |
uow.commit(); |
1648 |
rollbackTransaction(em); |
1422 |
|
1649 |
closeEntityManager(em); |
1423 |
Assert.assertTrue("Simple Null test failed", comparer.compareObjects(result, expectedResult)); |
1650 |
} |
1424 |
|
|
|
1425 |
} |
1651 |
} |
1426 |
|
1652 |
|
1427 |
public void simpleNotNullTest() { |
1653 |
public void simpleNotNullTest() { |
Lines 1451-1463
Link Here
|
1451 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1677 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1452 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1678 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1453 |
cq.where( qb.isNotNull(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.firstName)) ); |
1679 |
cq.where( qb.isNotNull(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.firstName)) ); |
1454 |
List result = em.createQuery(cq).getResultList(); |
1680 |
beginTransaction(em); |
|
|
1681 |
try { |
1682 |
List result = em.createQuery(cq).getResultList(); |
1455 |
|
1683 |
|
1456 |
uow = clientSession.acquireUnitOfWork(); |
1684 |
uow = clientSession.acquireUnitOfWork(); |
1457 |
uow.deleteObject(nullEmployee); |
1685 |
uow.deleteObject(nullEmployee); |
1458 |
uow.commit(); |
1686 |
uow.commit(); |
1459 |
|
1687 |
|
1460 |
Assert.assertTrue("Simple Not Null test failed", comparer.compareObjects(result, expectedResult)); |
1688 |
Assert.assertTrue("Simple Not Null test failed", comparer.compareObjects(result, expectedResult)); |
|
|
1689 |
} finally { |
1690 |
rollbackTransaction(em); |
1691 |
closeEntityManager(em); |
1692 |
} |
1461 |
} |
1693 |
} |
1462 |
|
1694 |
|
1463 |
public void distinctTest() { |
1695 |
public void distinctTest() { |
Lines 1480-1524
Link Here
|
1480 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1712 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1481 |
cq.distinct(true); |
1713 |
cq.distinct(true); |
1482 |
cq.where( qb.equal(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.lastName), "Smith") ); |
1714 |
cq.where( qb.equal(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.lastName), "Smith") ); |
1483 |
List result = em.createQuery(cq).getResultList(); |
1715 |
beginTransaction(em); |
|
|
1716 |
try { |
1717 |
List result = em.createQuery(cq).getResultList(); |
1484 |
|
1718 |
|
1485 |
Assert.assertTrue("Distinct test failed", comparer.compareObjects(result, expectedResult)); |
1719 |
Assert.assertTrue("Distinct test failed", comparer.compareObjects(result, expectedResult)); |
|
|
1720 |
} finally { |
1721 |
rollbackTransaction(em); |
1722 |
closeEntityManager(em); |
1723 |
} |
1486 |
} |
1724 |
} |
1487 |
|
1725 |
|
1488 |
public void multipleExecutionOfCriteriaQueryTest() { |
1726 |
public void multipleExecutionOfCriteriaQueryTest() { |
1489 |
//bug 5279859 |
1727 |
//bug 5279859 |
1490 |
EntityManager em = createEntityManager(); |
1728 |
EntityManager em = createEntityManager(); |
1491 |
//"SELECT e FROM Employee e where e.address.postalCode = :postalCode" |
1729 |
//"SELECT e FROM Employee e where e.address.postalCode = :postalCode" |
1492 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1730 |
beginTransaction(em); |
1493 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
|
|
1494 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1495 |
cq.where( qb.equal(root.get(Employee_.address).get(Address_.postalCode), qb.parameter(String.class, "postalCode")) ); |
1496 |
Query query = em.createQuery(cq); |
1497 |
query.setParameter("postalCode", "K1T3B9"); |
1498 |
try { |
1731 |
try { |
1499 |
query.getResultList(); |
1732 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1500 |
} catch (RuntimeException ex) { |
1733 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1501 |
fail("Failed to execute query, exception resulted on first execution, not expected"); |
1734 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
|
|
1735 |
cq.where( qb.equal(root.get(Employee_.address).get(Address_.postalCode), qb.parameter(String.class, "postalCode")) ); |
1736 |
Query query = em.createQuery(cq); |
1737 |
query.setParameter("postalCode", "K1T3B9"); |
1738 |
try { |
1739 |
query.getResultList(); |
1740 |
} catch (RuntimeException ex) { |
1741 |
fail("Failed to execute query, exception resulted on first execution, not expected"); |
1742 |
} |
1743 |
try { |
1744 |
query.getResultList(); |
1745 |
} catch (RuntimeException ex) { |
1746 |
fail("Failed to execute query, exception resulted on second execution"); |
1747 |
} |
1748 |
query = em.createNamedQuery("findEmployeeByPostalCode"); |
1749 |
query.setParameter("postalCode", "K1T3B9"); |
1750 |
try { |
1751 |
query.getResultList(); |
1752 |
} catch (RuntimeException ex) { |
1753 |
fail("Failed to execute query, exception resulted on first execution, of second use of named query"); |
1754 |
} |
1755 |
query.setMaxResults(100000); |
1756 |
try { |
1757 |
query.getResultList(); |
1758 |
} catch (RuntimeException ex) { |
1759 |
fail("Failed to execute query, exception resulted after setting max results (forcing reprepare)"); |
1760 |
} |
1761 |
} finally { |
1762 |
rollbackTransaction(em); |
1763 |
closeEntityManager(em); |
1502 |
} |
1764 |
} |
1503 |
try { |
|
|
1504 |
query.getResultList(); |
1505 |
} catch (RuntimeException ex) { |
1506 |
fail("Failed to execute query, exception resulted on second execution"); |
1507 |
} |
1508 |
query = em.createNamedQuery("findEmployeeByPostalCode"); |
1509 |
query.setParameter("postalCode", "K1T3B9"); |
1510 |
try { |
1511 |
query.getResultList(); |
1512 |
} catch (RuntimeException ex) { |
1513 |
fail("Failed to execute query, exception resulted on first execution, of second use of named query"); |
1514 |
} |
1515 |
query.setMaxResults(100000); |
1516 |
try { |
1517 |
query.getResultList(); |
1518 |
} catch (RuntimeException ex) { |
1519 |
fail("Failed to execute query, exception resulted after setting max results (forcing reprepare)"); |
1520 |
} |
1521 |
|
1522 |
} |
1765 |
} |
1523 |
|
1766 |
|
1524 |
public void simpleModTest() { |
1767 |
public void simpleModTest() { |
Lines 1542-1554
Link Here
|
1542 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1785 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1543 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1786 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1544 |
cq.where( qb.gt(qb.mod(root.get(Employee_.salary), 2), 0) ); |
1787 |
cq.where( qb.gt(qb.mod(root.get(Employee_.salary), 2), 0) ); |
|
|
1788 |
List result = null; |
1545 |
|
1789 |
|
1546 |
List result = em.createQuery(cq).getResultList(); |
1790 |
beginTransaction(em); |
|
|
1791 |
try { |
1792 |
result = em.createQuery(cq).getResultList(); |
1547 |
|
1793 |
|
1548 |
Assert.assertTrue("Simple Mod test failed", comparer.compareObjects(result, expectedResult)); |
1794 |
Assert.assertTrue("Simple Mod test failed", comparer.compareObjects(result, expectedResult)); |
1549 |
|
1795 |
} finally { |
|
|
1796 |
rollbackTransaction(em); |
1797 |
} |
1550 |
// Test MOD(fieldAccess, fieldAccess) glassfish issue 2771 |
1798 |
// Test MOD(fieldAccess, fieldAccess) glassfish issue 2771 |
1551 |
|
|
|
1552 |
expectedResult = getServerSession().readAllObjects(Employee.class); |
1799 |
expectedResult = getServerSession().readAllObjects(Employee.class); |
1553 |
clearCache(); |
1800 |
clearCache(); |
1554 |
|
1801 |
|
Lines 1558-1567
Link Here
|
1558 |
root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1805 |
root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1559 |
javax.persistence.criteria.Expression<Integer> salaryExp = root.get(Employee_.salary); |
1806 |
javax.persistence.criteria.Expression<Integer> salaryExp = root.get(Employee_.salary); |
1560 |
cq.where( qb.equal(qb.mod(salaryExp, salaryExp), 0) ); |
1807 |
cq.where( qb.equal(qb.mod(salaryExp, salaryExp), 0) ); |
|
|
1808 |
beginTransaction(em); |
1809 |
try { |
1810 |
result = em.createQuery(cq).getResultList(); |
1561 |
|
1811 |
|
1562 |
result = em.createQuery(cq).getResultList(); |
1812 |
Assert.assertTrue("Simple Mod test(2) failed", comparer.compareObjects(result, expectedResult)); |
1563 |
|
1813 |
} finally { |
1564 |
Assert.assertTrue("Simple Mod test(2) failed", comparer.compareObjects(result, expectedResult)); |
1814 |
rollbackTransaction(em); |
|
|
1815 |
closeEntityManager(em); |
1816 |
} |
1565 |
} |
1817 |
} |
1566 |
|
1818 |
|
1567 |
public void simpleIsEmptyTest() { |
1819 |
public void simpleIsEmptyTest() { |
Lines 1583-1592
Link Here
|
1583 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1835 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1584 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1836 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1585 |
cq.where( qb.isEmpty(root.get(Employee_.phoneNumbers)) ); |
1837 |
cq.where( qb.isEmpty(root.get(Employee_.phoneNumbers)) ); |
|
|
1838 |
beginTransaction(em); |
1839 |
try { |
1840 |
List result = em.createQuery(cq).getResultList(); |
1586 |
|
1841 |
|
1587 |
List result = em.createQuery(cq).getResultList(); |
1842 |
Assert.assertTrue("Simple Is empty test failed", comparer.compareObjects(result, expectedResult)); |
1588 |
|
1843 |
} finally { |
1589 |
Assert.assertTrue("Simple Is empty test failed", comparer.compareObjects(result, expectedResult)); |
1844 |
rollbackTransaction(em); |
|
|
1845 |
closeEntityManager(em); |
1846 |
} |
1590 |
} |
1847 |
} |
1591 |
|
1848 |
|
1592 |
public void simpleIsNotEmptyTest() { |
1849 |
public void simpleIsNotEmptyTest() { |
Lines 1607-1617
Link Here
|
1607 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1864 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1608 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1865 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1609 |
cq.where( qb.isNotEmpty(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.phoneNumbers)) ); |
1866 |
cq.where( qb.isNotEmpty(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.phoneNumbers)) ); |
|
|
1867 |
beginTransaction(em); |
1868 |
try { |
1869 |
List result = em.createQuery(cq).getResultList(); |
1610 |
|
1870 |
|
1611 |
List result = em.createQuery(cq).getResultList(); |
1871 |
Assert.assertTrue("Simple is not empty test failed", comparer.compareObjects(result, expectedResult)); |
1612 |
|
1872 |
} finally { |
1613 |
Assert.assertTrue("Simple is not empty test failed", comparer.compareObjects(result, expectedResult)); |
1873 |
rollbackTransaction(em); |
1614 |
|
1874 |
closeEntityManager(em); |
|
|
1875 |
} |
1615 |
} |
1876 |
} |
1616 |
|
1877 |
|
1617 |
//JPQL parsing test, not applicable to criteria api |
1878 |
//JPQL parsing test, not applicable to criteria api |
Lines 1646-1655
Link Here
|
1646 |
CriteriaQuery<Address> cq = qb.createQuery(Address.class); |
1907 |
CriteriaQuery<Address> cq = qb.createQuery(Address.class); |
1647 |
Root<Address> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Address.class)); |
1908 |
Root<Address> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Address.class)); |
1648 |
cq.where( qb.like(root.get(Address_.street), "234 Wandering "+escapeChar+"_Way", escapeChar) ); |
1909 |
cq.where( qb.like(root.get(Address_.street), "234 Wandering "+escapeChar+"_Way", escapeChar) ); |
|
|
1910 |
beginTransaction(em); |
1911 |
try { |
1912 |
List result = em.createQuery(cq).getResultList(); |
1649 |
|
1913 |
|
1650 |
List result = em.createQuery(cq).getResultList(); |
1914 |
Assert.assertTrue("Simple Escape Underscore test failed", comparer.compareObjects(result, expectedResult)); |
1651 |
|
1915 |
} finally { |
1652 |
Assert.assertTrue("Simple Escape Underscore test failed", comparer.compareObjects(result, expectedResult)); |
1916 |
rollbackTransaction(em); |
|
|
1917 |
closeEntityManager(em); |
1918 |
} |
1653 |
} |
1919 |
} |
1654 |
|
1920 |
|
1655 |
public void smallProjectMemberOfProjectsTest() { |
1921 |
public void smallProjectMemberOfProjectsTest() { |
Lines 1668-1681
Link Here
|
1668 |
//"SELECT OBJECT(employee) FROM Employee employee, SmallProject sp WHERE sp MEMBER OF employee.projects"; |
1934 |
//"SELECT OBJECT(employee) FROM Employee employee, SmallProject sp WHERE sp MEMBER OF employee.projects"; |
1669 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1935 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1670 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1936 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1671 |
Root<Project> projRoot = cq.from(getEntityManagerFactory().getMetamodel().entity(Project.class)); |
1937 |
Root<SmallProject> projRoot = cq.from(getEntityManagerFactory().getMetamodel().entity(SmallProject.class)); |
|
|
1938 |
|
1672 |
Root<Employee> empRoot = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1939 |
Root<Employee> empRoot = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1673 |
cq.where( qb.isMember(projRoot, empRoot.get(Employee_.projects)) ); |
1940 |
cq.where(qb.isMember(projRoot.as(Project.class), empRoot.get(Employee_.projects)) ); |
|
|
1941 |
beginTransaction(em); |
1942 |
try { |
1943 |
List result = em.createQuery(cq).getResultList(); |
1674 |
|
1944 |
|
1675 |
List result = em.createQuery(cq).getResultList(); |
1945 |
Assert.assertTrue("Simple small Project Member Of Projects test failed", comparer.compareObjects(result, expectedResult)); |
1676 |
|
1946 |
} finally { |
1677 |
Assert.assertTrue("Simple small Project Member Of Projects test failed", comparer.compareObjects(result, expectedResult)); |
1947 |
rollbackTransaction(em); |
1678 |
|
1948 |
closeEntityManager(em); |
|
|
1949 |
} |
1679 |
} |
1950 |
} |
1680 |
|
1951 |
|
1681 |
public void smallProjectNOTMemberOfProjectsTest() { |
1952 |
public void smallProjectNOTMemberOfProjectsTest() { |
Lines 1702-1712
Link Here
|
1702 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1973 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1703 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1974 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1704 |
cq.where( qb.isNotMember(qb.parameter(Project.class, "1"), cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.projects)) ); |
1975 |
cq.where( qb.isNotMember(qb.parameter(Project.class, "1"), cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.projects)) ); |
|
|
1976 |
beginTransaction(em); |
1977 |
try { |
1978 |
List result = em.createQuery(cq).setParameter("1", smallProject).getResultList(); |
1705 |
|
1979 |
|
1706 |
List result = em.createQuery(cq).setParameter("1", smallProject).getResultList(); |
1980 |
Assert.assertTrue("Simple small Project NOT Member Of Projects test failed", comparer.compareObjects(result, expectedResult)); |
1707 |
|
1981 |
} finally { |
1708 |
Assert.assertTrue("Simple small Project NOT Member Of Projects test failed", comparer.compareObjects(result, expectedResult)); |
1982 |
rollbackTransaction(em); |
1709 |
|
1983 |
closeEntityManager(em); |
|
|
1984 |
} |
1710 |
} |
1985 |
} |
1711 |
|
1986 |
|
1712 |
//This test demonstrates the bug 4616218, waiting for bug fix |
1987 |
//This test demonstrates the bug 4616218, waiting for bug fix |
Lines 1730-1739
Link Here
|
1730 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2005 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1731 |
CriteriaQuery<Long> cq = qb.createQuery(Long.class); |
2006 |
CriteriaQuery<Long> cq = qb.createQuery(Long.class); |
1732 |
cq.select(qb.countDistinct(cq.from(getEntityManagerFactory().getMetamodel().entity(PhoneNumber.class)).get(PhoneNumber_.owner))); |
2007 |
cq.select(qb.countDistinct(cq.from(getEntityManagerFactory().getMetamodel().entity(PhoneNumber.class)).get(PhoneNumber_.owner))); |
|
|
2008 |
beginTransaction(em); |
2009 |
try { |
2010 |
List result = em.createQuery(cq).getResultList(); |
1733 |
|
2011 |
|
1734 |
List result = em.createQuery(cq).getResultList(); |
2012 |
Assert.assertTrue("Simple Select Count One To One test failed", expectedResult.elementAt(0).equals(result.get(0))); |
1735 |
|
2013 |
} finally { |
1736 |
Assert.assertTrue("Simple Select Count One To One test failed", expectedResult.elementAt(0).equals(result.get(0))); |
2014 |
rollbackTransaction(em); |
|
|
2015 |
closeEntityManager(em); |
2016 |
} |
1737 |
} |
2017 |
} |
1738 |
|
2018 |
|
1739 |
public void selectOneToOneTest() { |
2019 |
public void selectOneToOneTest() { |
Lines 1756-1766
Link Here
|
1756 |
cq.distinct(true); |
2036 |
cq.distinct(true); |
1757 |
cq.select(root.get(Employee_.address)); |
2037 |
cq.select(root.get(Employee_.address)); |
1758 |
cq.where(qb.like(root.get(Employee_.lastName), "%Way%")); |
2038 |
cq.where(qb.like(root.get(Employee_.lastName), "%Way%")); |
|
|
2039 |
beginTransaction(em); |
2040 |
try { |
2041 |
List result = em.createQuery(cq).getResultList(); |
1759 |
|
2042 |
|
1760 |
List result = em.createQuery(cq).getResultList(); |
2043 |
Assert.assertTrue("Simple Select One To One test failed", comparer.compareObjects(result, expectedResult)); |
1761 |
|
2044 |
} finally { |
1762 |
Assert.assertTrue("Simple Select One To One test failed", comparer.compareObjects(result, expectedResult)); |
2045 |
rollbackTransaction(em); |
1763 |
|
2046 |
closeEntityManager(em); |
|
|
2047 |
} |
1764 |
} |
2048 |
} |
1765 |
|
2049 |
|
1766 |
public void selectPhonenumberDeclaredInINClauseTest() { |
2050 |
public void selectPhonenumberDeclaredInINClauseTest() { |
Lines 1785-1797
Link Here
|
1785 |
CriteriaQuery<PhoneNumber> cq = qb.createQuery(PhoneNumber.class); |
2069 |
CriteriaQuery<PhoneNumber> cq = qb.createQuery(PhoneNumber.class); |
1786 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2070 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1787 |
Join phone = root.join(Employee_.phoneNumbers); |
2071 |
Join phone = root.join(Employee_.phoneNumbers); |
|
|
2072 |
cq.select(phone); |
1788 |
cq.where(qb.isNotNull(phone.get(PhoneNumber_.number))); |
2073 |
cq.where(qb.isNotNull(phone.get(PhoneNumber_.number))); |
1789 |
cq.orderBy(qb.asc(phone.get(PhoneNumber_.number)), qb.asc(phone.get(PhoneNumber_.areaCode))); |
2074 |
cq.orderBy(qb.asc(phone.get(PhoneNumber_.number)), qb.asc(phone.get(PhoneNumber_.areaCode))); |
|
|
2075 |
beginTransaction(em); |
2076 |
try { |
2077 |
List result = em.createQuery(cq).getResultList(); |
1790 |
|
2078 |
|
1791 |
List result = em.createQuery(cq).getResultList(); |
2079 |
Assert.assertTrue("Simple select Phonenumber Declared In IN Clause test failed", comparer.compareObjects(result, expectedResult)); |
1792 |
|
2080 |
} finally { |
1793 |
Assert.assertTrue("Simple select Phonenumber Declared In IN Clause test failed", comparer.compareObjects(result, expectedResult)); |
2081 |
rollbackTransaction(em); |
1794 |
|
2082 |
closeEntityManager(em); |
|
|
2083 |
} |
1795 |
} |
2084 |
} |
1796 |
|
2085 |
|
1797 |
/** |
2086 |
/** |
Lines 1834-1844
Link Here
|
1834 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2123 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1835 |
Join phone = root.join("phoneNumbers"); |
2124 |
Join phone = root.join("phoneNumbers"); |
1836 |
cq.where(qb.equal(root.get("number"), qb.all(sq))); |
2125 |
cq.where(qb.equal(root.get("number"), qb.all(sq))); |
|
|
2126 |
beginTransaction(em); |
2127 |
try { |
2128 |
List result = em.createQuery(cq).getResultList(); |
1837 |
|
2129 |
|
1838 |
List result = em.createQuery(cq).getResultList(); |
2130 |
Assert.assertTrue("Simple select Phonenumber Declared In IN Clause test failed", comparer.compareObjects(result, expectedResult)); |
1839 |
|
2131 |
} finally { |
1840 |
Assert.assertTrue("Simple select Phonenumber Declared In IN Clause test failed", comparer.compareObjects(result, expectedResult)); |
2132 |
rollbackTransaction(em); |
1841 |
|
2133 |
closeEntityManager(em); |
|
|
2134 |
} |
1842 |
}*/ |
2135 |
}*/ |
1843 |
|
2136 |
|
1844 |
/** |
2137 |
/** |
Lines 1864-1886
Link Here
|
1864 |
clearCache(); |
2157 |
clearCache(); |
1865 |
|
2158 |
|
1866 |
//"Select Distinct Object(emp) from Employee emp, IN(emp.phoneNumbers) p WHERE p.number = ALL (Select MIN(pp.number) FROM PhoneNumber pp)"; |
2159 |
//"Select Distinct Object(emp) from Employee emp, IN(emp.phoneNumbers) p WHERE p.number = ALL (Select MIN(pp.number) FROM PhoneNumber pp)"; |
1867 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2160 |
beginTransaction(em); |
1868 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
2161 |
try { |
1869 |
cq.distinct(true); |
2162 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1870 |
Subquery<Number> sq = cq.subquery(Number.class); |
2163 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1871 |
Root<PhoneNumber> subroot = sq.from(PhoneNumber.class); |
2164 |
cq.distinct(true); |
1872 |
sq.select(qb.min(subroot.<Number>get("number")));//number is a string? not sure this will work. |
2165 |
Subquery<Number> sq = cq.subquery(Number.class); |
|
|
2166 |
Root<PhoneNumber> subroot = sq.from(PhoneNumber.class); |
2167 |
sq.select(qb.min(subroot.<Number>get("number")));//number is a string? not sure this will work. |
1873 |
|
2168 |
|
1874 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2169 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1875 |
Join phone = root.join(Employee_.phoneNumbers); |
2170 |
Join phone = root.join(Employee_.phoneNumbers); |
1876 |
cq.where(qb.equal(phone.get(PhoneNumber_.number), qb.all(sq))); |
2171 |
cq.where(qb.equal(phone.get(PhoneNumber_.number), qb.all(sq))); |
1877 |
|
2172 |
|
1878 |
Query jpqlQuery = em.createQuery(cq); |
2173 |
Query jpqlQuery = em.createQuery(cq); |
1879 |
jpqlQuery.setMaxResults(10); |
|
|
1880 |
List result = jpqlQuery.getResultList(); |
1881 |
|
2174 |
|
1882 |
Assert.assertTrue("Simple select Phonenumber Declared In IN Clause test failed", comparer.compareObjects(result, expectedResult)); |
2175 |
jpqlQuery.setMaxResults(10); |
1883 |
|
2176 |
List result = jpqlQuery.getResultList(); |
|
|
2177 |
Assert.assertTrue("Simple select Phonenumber Declared In IN Clause test failed", comparer.compareObjects(result, expectedResult)); |
2178 |
} finally { |
2179 |
rollbackTransaction(em); |
2180 |
closeEntityManager(em); |
2181 |
} |
1884 |
} |
2182 |
} |
1885 |
|
2183 |
|
1886 |
public void selectSimpleMemberOfWithParameterTest() { |
2184 |
public void selectSimpleMemberOfWithParameterTest() { |
Lines 1914-1926
Link Here
|
1914 |
Vector parameters = new Vector(); |
2212 |
Vector parameters = new Vector(); |
1915 |
parameters.add(phone); |
2213 |
parameters.add(phone); |
1916 |
|
2214 |
|
1917 |
List result = em.createQuery(cq).setParameter("1", phone).getResultList(); |
2215 |
beginTransaction(em); |
|
|
2216 |
try { |
2217 |
List result = em.createQuery(cq).setParameter("1", phone).getResultList(); |
2218 |
Assert.assertTrue("Select simple member of with parameter test failed", comparer.compareObjects(result, expectedResult)); |
2219 |
} finally { |
2220 |
rollbackTransaction(em); |
2221 |
closeEntityManager(em); |
2222 |
} |
1918 |
|
2223 |
|
1919 |
uow = clientSession.acquireUnitOfWork(); |
2224 |
uow = clientSession.acquireUnitOfWork(); |
1920 |
uow.deleteObject(phone); |
2225 |
uow.deleteObject(phone); |
1921 |
uow.commit(); |
2226 |
uow.commit(); |
1922 |
|
|
|
1923 |
Assert.assertTrue("Select simple member of with parameter test failed", comparer.compareObjects(result, expectedResult)); |
1924 |
} |
2227 |
} |
1925 |
|
2228 |
|
1926 |
public void selectSimpleNotMemberOfWithParameterTest() { |
2229 |
public void selectSimpleNotMemberOfWithParameterTest() { |
Lines 1953-1970
Link Here
|
1953 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2256 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
1954 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
2257 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1955 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2258 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1956 |
cq.where(qb.isNotMember(qb.parameter(PhoneNumber.class), root.get(Employee_.phoneNumbers))); |
2259 |
cq.where(qb.isNotMember(qb.parameter(PhoneNumber.class, "1"), root.get(Employee_.phoneNumbers))); |
1957 |
|
2260 |
|
1958 |
Vector parameters = new Vector(); |
2261 |
Vector parameters = new Vector(); |
1959 |
parameters.add(phone); |
2262 |
parameters.add(phone); |
1960 |
|
2263 |
|
1961 |
List result = em.createQuery(cq).setParameter("1", phone).getResultList(); |
2264 |
beginTransaction(em); |
|
|
2265 |
try { |
2266 |
List result = em.createQuery(cq).setParameter("1", phone).getResultList(); |
1962 |
|
2267 |
|
|
|
2268 |
Assert.assertTrue("Select simple Not member of with parameter test failed", comparer.compareObjects(result, expectedResult)); |
2269 |
} finally { |
2270 |
rollbackTransaction(em); |
2271 |
closeEntityManager(em); |
2272 |
} |
2273 |
|
1963 |
uow = clientSession.acquireUnitOfWork(); |
2274 |
uow = clientSession.acquireUnitOfWork(); |
1964 |
uow.deleteObject(phone); |
2275 |
uow.deleteObject(phone); |
1965 |
uow.commit(); |
2276 |
uow.commit(); |
1966 |
|
|
|
1967 |
Assert.assertTrue("Select simple Not member of with parameter test failed", comparer.compareObjects(result, expectedResult)); |
1968 |
} |
2277 |
} |
1969 |
|
2278 |
|
1970 |
public void selectSimpleBetweenWithParameterTest() { |
2279 |
public void selectSimpleBetweenWithParameterTest() { |
Lines 1991-2000
Link Here
|
1991 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
2300 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
1992 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2301 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
1993 |
cq.where(qb.between(root.get(Employee_.id).as(Comparable.class), qb.parameter(BigDecimal.class, "1"), qb.parameter(Integer.class, "2"))); |
2302 |
cq.where(qb.between(root.get(Employee_.id).as(Comparable.class), qb.parameter(BigDecimal.class, "1"), qb.parameter(Integer.class, "2"))); |
|
|
2303 |
beginTransaction(em); |
2304 |
try { |
2305 |
List result = em.createQuery(cq).setParameter("1", empId1).setParameter("2", emp2.getId()).getResultList(); |
1994 |
|
2306 |
|
1995 |
List result = em.createQuery(cq).setParameter("1", empId1).setParameter("2", emp2.getId()).getResultList(); |
2307 |
Assert.assertTrue("Simple select between with parameter test failed", comparer.compareObjects(result, expectedResult)); |
1996 |
|
2308 |
} finally { |
1997 |
Assert.assertTrue("Simple select between with parameter test failed", comparer.compareObjects(result, expectedResult)); |
2309 |
rollbackTransaction(em); |
|
|
2310 |
closeEntityManager(em); |
2311 |
} |
1998 |
} |
2312 |
} |
1999 |
|
2313 |
|
2000 |
public void selectSimpleInWithParameterTest() { |
2314 |
public void selectSimpleInWithParameterTest() { |
Lines 2028-2037
Link Here
|
2028 |
inExp.value(qb.parameter(BigDecimal.class, "1")); |
2342 |
inExp.value(qb.parameter(BigDecimal.class, "1")); |
2029 |
inExp.value(qb.parameter(Integer.class, "2")); |
2343 |
inExp.value(qb.parameter(Integer.class, "2")); |
2030 |
cq.where(inExp); |
2344 |
cq.where(inExp); |
|
|
2345 |
beginTransaction(em); |
2346 |
try { |
2347 |
List result = em.createQuery(cq).setParameter("1", empId1).setParameter("2", emp2.getId()).getResultList(); |
2031 |
|
2348 |
|
2032 |
List result = em.createQuery(cq).setParameter("1", empId1).setParameter("2", emp2.getId()).getResultList(); |
2349 |
Assert.assertTrue("Simple select between with parameter test failed", comparer.compareObjects(result, expectedResult)); |
2033 |
|
2350 |
} finally { |
2034 |
Assert.assertTrue("Simple select between with parameter test failed", comparer.compareObjects(result, expectedResult)); |
2351 |
rollbackTransaction(em); |
|
|
2352 |
closeEntityManager(em); |
2353 |
} |
2035 |
} |
2354 |
} |
2036 |
|
2355 |
|
2037 |
//Test case for ABS function in EJBQL |
2356 |
//Test case for ABS function in EJBQL |
Lines 2045-2051
Link Here
|
2045 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2364 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2046 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
2365 |
CriteriaQuery<Employee> cq = qb.createQuery(Employee.class); |
2047 |
cq.where(qb.equal(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.status), org.eclipse.persistence.testing.models.jpa.advanced.Employee.EmployeeStatus.FULL_TIME)); |
2366 |
cq.where(qb.equal(cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)).get(Employee_.status), org.eclipse.persistence.testing.models.jpa.advanced.Employee.EmployeeStatus.FULL_TIME)); |
2048 |
List result = em.createQuery(cq).getResultList(); |
2367 |
beginTransaction(em); |
|
|
2368 |
try { |
2369 |
List result = em.createQuery(cq).getResultList(); |
2370 |
} finally { |
2371 |
rollbackTransaction(em); |
2372 |
closeEntityManager(em); |
2373 |
} |
2049 |
} |
2374 |
} |
2050 |
|
2375 |
|
2051 |
public void simpleTypeTest(){ |
2376 |
public void simpleTypeTest(){ |
Lines 2059-2069
Link Here
|
2059 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2384 |
CriteriaBuilder qb = em.getCriteriaBuilder(); |
2060 |
CriteriaQuery<Project> cq = qb.createQuery(Project.class); |
2385 |
CriteriaQuery<Project> cq = qb.createQuery(Project.class); |
2061 |
cq.where(qb.equal(cq.from(getEntityManagerFactory().getMetamodel().entity(Project.class)).type(), org.eclipse.persistence.testing.models.jpa.advanced.LargeProject.class)); |
2386 |
cq.where(qb.equal(cq.from(getEntityManagerFactory().getMetamodel().entity(Project.class)).type(), org.eclipse.persistence.testing.models.jpa.advanced.LargeProject.class)); |
|
|
2387 |
beginTransaction(em); |
2388 |
try { |
2389 |
List result = em.createQuery(cq).getResultList(); |
2062 |
|
2390 |
|
2063 |
List result = em.createQuery(cq).getResultList(); |
2391 |
Assert.assertTrue("SimpleTypeTest", comparer.compareObjects(result, expectedResult)); |
2064 |
|
2392 |
} finally { |
2065 |
Assert.assertTrue("SimpleTypeTest", comparer.compareObjects(result, expectedResult)); |
2393 |
rollbackTransaction(em); |
2066 |
|
2394 |
closeEntityManager(em); |
|
|
2395 |
} |
2067 |
} |
2396 |
} |
2068 |
|
2397 |
|
2069 |
public void simpleAsOrderByTest(){ |
2398 |
public void simpleAsOrderByTest(){ |
Lines 2086-2095
Link Here
|
2086 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2415 |
Root<Employee> root = cq.from(getEntityManagerFactory().getMetamodel().entity(Employee.class)); |
2087 |
cq.select(root.get(Employee_.firstName)); |
2416 |
cq.select(root.get(Employee_.firstName)); |
2088 |
cq.orderBy(qb.asc(root.get(Employee_.firstName))); |
2417 |
cq.orderBy(qb.asc(root.get(Employee_.firstName))); |
|
|
2418 |
beginTransaction(em); |
2419 |
try { |
2420 |
List result = em.createQuery(cq).getResultList(); |
2089 |
|
2421 |
|
2090 |
List result = em.createQuery(cq).getResultList(); |
2422 |
Assert.assertTrue("SimpleTypeTest", comparer.compareObjects(result, expectedResult)); |
2091 |
|
2423 |
} finally { |
2092 |
Assert.assertTrue("SimpleTypeTest", comparer.compareObjects(result, expectedResult)); |
2424 |
rollbackTransaction(em); |
|
|
2425 |
closeEntityManager(em); |
2426 |
} |
2093 |
} |
2427 |
} |
2094 |
} |
2428 |
} |
2095 |
|
2429 |
|