@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class).addPackages(true, "org.javaee7.jpa.dynamicnamedquery")
.addAsResource("META-INF/persistence.xml");
}
cd javaee7-samples/jpa/dynamic-named-query/Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:mvn test -Dtest=DynamicNamedQueryTest
This tests that queries which have been dynamically (programmatically) added as named queries can be executed correctly.
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class).addPackages(true, "org.javaee7.jpa.dynamicnamedquery")
.addAsResource("META-INF/persistence.xml");
}
@Test
public void testDynamicNamedCriteriaQueries() throws IOException, SAXException {
// Nothing inserted yet, data base should not contain any entities
// (this tests that a simple query without parameters works as named query created by Criteria)
assertTrue(testService.getAll().size() == 0);
// Insert one entity
TestEntity testEntity = new TestEntity();
testEntity.setValue("myValue");
testService.save(testEntity);
// The total amount of entities should be 1
assertTrue(testService.getAll().size() == 1);
// The entity with "myValue" should be found
// (this tests that a query with a parameter works as named query created by Criteria)
assertTrue(testService.getByValue("myValue").size() == 1);
}
There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/jpa/dynamic-named-query/
Do the changes as you see fit and send a pull request!
Good Luck!