Web site template
CHAPTER 3 n BUILDING A SIMPLE APPLICATION n BUILDING A SIMPLE APPLICATION Building DAOs The DAO pattern is well known to most developers. The idea is to separate out the POJOs from the logic used to persist them into, and retrieve them from, the database. The specifics of the implementation vary at one extreme, they can be provided as interfaces instantiated from a factory class, allowing a completely pluggable database layer. For our example, we have selected a compromise of concrete DAO classes. Each DAO class represents the operations that can be performed on a POJO type. We have already described the base class DAO in Listing 3-15, and the preceding examples made use of this. To help encapsulate the specifics of the database operations that are being carried out, we catch any HibernateExceptionthat is thrown and wrap it in a business AdException instance, as shown in Listing 3-19. Listing 3-19. The AdException Class for the Example package sample; public class AdException extends Exception { public AdException(String message) { super(message); } public AdException(String message, Throwable cause) { super(message,cause); } } The UserDAO provides all the methods required to retrieve an existing User object, delete an existing User object, or create a new User object (see Listing 3-20). Changes to the object in question will be persisted to the database at the end of the transaction. Listing 3-20. The UserDAO Class for the Example package sample.dao; import org.hibernate.HibernateException; import org.hibernate.Query; import sample.AdException; import sample.entity.User; public class UserDAO extends DAO { public UserDAO() { }
Note: If you are looking for reliable webhost to maintain and run your java application check Vision java hosting services