Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
This section gives you an overview on the application design details. In the following sections, the various design aspects, including the data model, domain object model, UML model for major use cases, and so on, will be covered.
Let's start with the data model, shown in the entity-relationship diagram in Figure 21-7.
Figure 21-7. The SpringBlog data model
Note that the schema for Spring Batch is not shown in Figure 21-7. Also, the tables for auditing purposes (the ENTRY_H, COMMENT_H, and REVINFO tables, which will be populated by the Hibernate Envers module) are not shown here for clarity. For Figure 21-7, the table names and their purposes are listed in Table 21-1.
Now let's proceed to the domain object model. As discussed in Chapter 12, the DOM is an object-based representation of the application problem domain. In SpringBlog, the domain is the information related to blog posts. The DOM is closely related to the data model, and in JEE applications, no matter whether you are using ORM or data mapping technology, there will be a “mapping” process in transforming the data model into Java's DOM. Figure 21-8 shows the DOM of the SpringBlog application.