Articles Tagged ‘persistence’
Thursday, July 31st, 2014
I have written about other database migration frameworks before but in this article I’d like to cover the Liquibase framework in combination with WildFly as Java EE 7 compatible application server.
In the following tutorial, we’re going to write a full Java EE 7 book store application with a few steps and with Liquibase on board to create the database structure and insert example data into the database.
Thanks to the WildFly Maven Plug-in we even do not need to download and configure the application server but let Maven and the plug-in do the work for us.
(more…)
Tags: application server, as, curl, db, dbmigrate, ejb, entitymanager, h2, javaee, javaee7, jax-rs, jaxrs, jee, jpa, json, liquibase, migration, persistence, rdbms, rest, wildfly
Posted in Enterprise, Java, Web, Web Services | 3 Comments »
Monday, April 21st, 2014
Using the Java Persistence API and a decent persistence provider allows us to configure and fine-tune when and how the second level cache is used in our application.
In the following short examples, we’re going to demonstrate those features written as JUnit test cases and running on a H2 in-memory database.
(more…)
Tags: 2nd-level, cache, database, eclipselink, hibernate, jpa, level, persistence
Posted in Java | 2 Comments »
Thursday, February 13th, 2014
Querydsl is a framework that allows us to create elegant, type-safe queries for a variety of different data-sources like Java Persistence API (JPA) entities, Java Data Objects (JDO), mongoDB with Morphia, SQL, Hibernate Search up to Lucene.
In the following tutorial we’re implementing example queries for different environments – Java Persistence API compared with a JPQL and a criteria API query, mongoDB with Morphia and last but not least for Lucene.
(more…)
Tags: builder, database, eclipselink, fluent api, hibernate, hibernate search, jdo, jpa, lucene, mongodb, morphia, persistence, querydsl, sql
Posted in Java | No Comments »
Sunday, June 16th, 2013
I really love Arquillian to run integration tests for my Java EE applications – especially when running on different containers – and I also love the Arquillian tool stack from Arquillian Drone to the Arquillian Persistence Extensions.
Today I’d like to share a short snippet how to achieve transaction rollbacks when testing an EJB in combination with Arquillian and the Arquillian Transaction Extension…
(more…)
Tags: arquillian, ejb, java ee, jee, jpa, persistence, rollback, testing, transaction
Posted in Enterprise, Java, testing | 3 Comments »
Sunday, April 14th, 2013
One common question that you may encounter one day when using object-relational-mapping in your application is how to slim down data that you’re retrieving from the persistence layer down to a specific subset for your use-case in an efficient manner and without using complex additional mapping frameworks. In some situations you might declare lazy loaded fields but another approach that I’d like to share with you here are JPA2 constructor expressions.
Constructor expressions allow us to create plain old java objects from the result of an JPA query. The advantage is that we may use different projections for different scenarios and without being managed, the POJOs might help us save some resources here.
In the following tutorial, we’re going to persist 100 book entities with multiple properties to an embedded database and we’re using constructor expressions afterwards to create smaller POJOs using a subset of the information available from each persisted book.
(more…)
Tags: criteria api, criteria builder, eclipselink, Java, jpa, jpql, maven, memory, persistence, projection, xml
Posted in Java | No Comments »
Monday, February 25th, 2013
The ability to attach lifecycle events to an entity using simple annotations sometimes is a neat feature in the Java Persistence API.
The following short snippets demonstrate how to bind and trigger the different available lifecycle events using an embedded derby database and a bunch of annotations.
(more…)
Tags: entitylistener, entitymanager, hibernate, java persistence api, jpa, orm, persistence
Posted in Development, Java, testing | No Comments »
Monday, March 26th, 2012
In today’s tutorial we’re exploring the world of faceted searches like the one we’re used to see when we’re searching for an item on Amazon.com or other websites. We’re using Hibernate Search here that offers an API to perform discrete as well as range faceted searches on our persisted data.
(more…)
Tags: discrete, entity, example, facet, hibernate, jboss, jpa, lucene, persistence, range, search, tutorial
Posted in Java | 2 Comments »
Sunday, February 5th, 2012
Often we’re writing an application that has to handle entities that – on the one side need to be persisted in a relational database using standards like the Java Persistence API (JPA) and using frameworks like Hibernate ORM or EclipseLink.
On the other side those entities and their fields are often stored in a highspeed indexer like Lucene. From this situation arises a bunch of common problems .. to synchronize both data sources, to handle special data mapped in an entity like an office document and so on..
Hibernate Search makes this all a lot easier for us as we’re hopefully going to see in the following short tutorial…
(more…)
Tags: annotation, hibernate, index, jpa, lucene, orm, persistence, query, term
Posted in Java | 4 Comments »
Monday, October 11th, 2010
Today we’re going to take a look at the world of object-relational Mapping and how it is done using the Java Persistence API by creating some basic examples, mapping some relations and querying objects using JPQL or the Criteria API..
(more…)
Tags: annotation, criteria api, eclipselink, example, hibernate, javadb, jee, jpa, jpa2, jpql, jsr-317, junit, mercurial, orm, persistence, toplink, tutorial
Posted in Java | 1 Comment »
Tuesday, April 6th, 2010
They built a nice new feature in Grails 1.2 called “named queries“. Named queries can be defined in a domain class as static properties and support the criteria builder syntax. (more…)
Tags: criteria builder, gorm, grails, groovy, hibernate, named queries, persistence
Posted in Development, Groovy/Grails | 2 Comments »