You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/01/10 15:26:31 UTC

cayenne git commit: Cleanup db-first tutorial

Repository: cayenne
Updated Branches:
  refs/heads/master e34fc180a -> fcdb1643e


Cleanup db-first tutorial


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/fcdb1643
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/fcdb1643
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/fcdb1643

Branch: refs/heads/master
Commit: fcdb1643ed19885870172474163d565d1041ee82
Parents: e34fc18
Author: Nikita Timofeev <st...@gmail.com>
Authored: Wed Jan 10 18:25:04 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Wed Jan 10 18:25:04 2018 +0300

----------------------------------------------------------------------
 .../part1-maven-project.adoc                    |  4 ----
 .../_getting-started-db-first/part1-setup.adoc  | 11 ---------
 .../_getting-started-db-first/part1.adoc        |  1 -
 .../part2-project-setup.adoc                    |  4 ----
 .../part2-rr-setup.adoc                         | 21 +++++-----------
 .../_getting-started-db-first/part2.adoc        |  1 -
 .../part3-filtering.adoc                        |  8 ++-----
 .../part3-updating-model.adoc                   | 14 +++--------
 .../_getting-started-db-first/part3.adoc        |  1 -
 .../part4-java-classes.adoc                     | 17 +++++++------
 .../part4-java-code.adoc                        | 25 +++++++++-----------
 .../_getting-started-db-first/part4.adoc        |  1 -
 .../_getting-started-db-first/part5.adoc        |  7 +++---
 13 files changed, 33 insertions(+), 82 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-maven-project.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-maven-project.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-maven-project.adoc
index 1dd7890..e16c6dd 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-maven-project.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-maven-project.adoc
@@ -11,13 +11,10 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part1_maven_project]]
 === Maven Project
 
-
 The goal of this chapter is to create a new Java project in IntelliJ IDEA and to setup Maven Cayenne plugin
 
-[[_new_maven_project]]
 ==== Create a new Project in IntelliJ IDEA
 
 In IntelliJ IDEA select menu:File[New > Project...] and then select "Maven" and click "Next".
@@ -28,7 +25,6 @@ image:tutorial-idea-project.png[align="center"]
 On next dialog screen you can customize directory for your project and click "Finish".
 Now you should have a new empty project.
 
-[[_maven_plugin]]
 ==== Plugin setup
 
 Next step is setting up Cayenne plugin in `pom.xml` file.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-setup.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-setup.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-setup.adoc
index 3c77b0c..6a5bf9d 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-setup.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1-setup.adoc
@@ -11,41 +11,30 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part1_prerequisites]]
 === Prerequisites
 
-
 You can start with this tutorial, or you can do "Getting Started with Cayenne" first and then continue with this tutorial.
 
 This chapter lists the recommended software used in the tutorial.
 
-[[_install_java]]
 ==== Java
 
-
 Cayenne 4.0 requires JDK 1.7 or newer.
 
-[[_install_idea]]
 ==== IntelliJ IDEA IDE
 
-
 Download and install the free IntelliJ IDEA Community Edition IDE.
 This tutorial uses version 2017.1, but any recent IntelliJ IDEA version and edition will do. 
 
-[[_install_maven]]
 ==== Maven
 
-
 Two Maven plugins are used:
 
 * *cayenne-maven-plugin* - among other things, allows to reverse-engineer the Cayenne model from the database and to update the model after the database has been changed.
 * *cayenne-modeler-maven-plugin* - provides a convenient way of starting the Cayenne Modeler
 
-
-[[_install_mysql]]
 ==== MySQL
 
-
 MySQL database server is used for demonstrating Cayenne's ability to read the DB schema and to build/update the Cayenne model from it.
 
 You can create test database with any tools you comfortable with, here is full DB schema that will be used in this tutorial: 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1.adoc
index 86dc7e1..3586a25 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part1.adoc
@@ -11,7 +11,6 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part1]]
 == Setup
 
 include::part1-setup.adoc[]

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-project-setup.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-project-setup.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-project-setup.adoc
index b906263..9667ef7 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-project-setup.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-project-setup.adoc
@@ -11,15 +11,12 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part2_project_setup]]
 === Creating project
 
-
 Now we also need to create project file, currently this should be done manually via Cayenne Modeler. 
 
 ==== Setup Modeler Maven plugin
 
-
 To launch Modeler we'll use ``cayenne-modeler-maven-plugin``.
 To use it just include it in `pom.xml` like we did with ``cayenne-maven-plugin``: 
 [source,xml]
@@ -38,7 +35,6 @@ $ mvn cayenne-modeler:run
 
 ==== Create project
 
-
 In Modeler start new project and select `File` > ``Import DataMap``.
 In File Select dialog select created `datamap.map.xml` file and click ``Select DataMap``.
 Now all we need is to save project, click `Save` and select same folder where `datamap.map.xml` file is (it should be selected by default). That's all, you should see now `cayenne-project.xml` file in IDEA: 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-rr-setup.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-rr-setup.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-rr-setup.adoc
index 2cc431f..5c7c162 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-rr-setup.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2-rr-setup.adoc
@@ -11,16 +11,13 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part2_rr_setup]]
 === Reverse engineering database
 
-
 Now we have everything ready and can proceed to importing Cayenne model from our Mysql database
 
 ==== Configuring plugin
 
-
-To let Cayenne plugin to its job we must tell it what to import and where it should get data.
+To let Cayenne plugin do its job we must tell it what to import and where it should get data.
 So let's begin, here is sample settings for the data source: 
 [source,xml]
 ----
@@ -43,10 +40,7 @@ So let's begin, here is sample settings for the data source:
     </dependencies>
 ----
 
-[NOTE]
-====
-Don't forget to set your actual MySQL login and password
-====
+NOTE: Don't forget to set your actual MySQL login and password
 
 We have told plugin where it should load data from, now let's set where it should store Cayenne model: 
 [source,xml]
@@ -57,7 +51,8 @@ We have told plugin where it should load data from, now let's set where it shoul
     <map>${project.basedir}/src/main/resources/datamap.map.xml</map>
 ----
 
-And a last small step we need set default package where our model classes will be and catalog where our tables are: 
+And a last small step we need to do is to set default package where our model classes will be
+and catalog where our tables are:
 [source,xml]
 ----
 <configuration>
@@ -70,8 +65,7 @@ And a last small step we need set default package where our model classes will b
 
 ==== Running plugin
 
-
-Finally we can run db import, it is as easy as just running this command in terminal: 
+Finally we can run db import, it is as easy as just running this command in terminal:
 ----
 $ mvn cayenne:cdbimport
 ----
@@ -109,7 +103,4 @@ image:tutorial-new-datamap.png[align="center"]
 
 Great! We now have Cayenne DataMap file that describe model from our database.
 
-[NOTE]
-====
-If you have some problems with configuration you can always delete `datamap.map.xml` file and try again.
-====
\ No newline at end of file
+NOTE: If you have some problems with configuration you can always delete `datamap.map.xml` file and try again.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2.adoc
index d38c852..2e9aa60 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part2.adoc
@@ -11,7 +11,6 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part2]]
 == Importing database
 
 include::part2-rr-setup.adoc[]

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-filtering.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-filtering.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-filtering.adoc
index 4bf714c..97d5d35 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-filtering.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-filtering.adoc
@@ -11,15 +11,12 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part3_filtering]]
 === Advanced filtering
 
-
-Final part of our tutorial is about fine-tuning what you load from DB into your model. 
+Final part of our tutorial is about fine-tuning what you load from DB into your model.
 
 ==== Update schema
 
-
 Let's add some information to our database, that we don't need in our model: 
 [source,sql]
 ----
@@ -31,8 +28,7 @@ ALTER TABLE cayenne_demo.PAINTING ADD COLUMN __service_column INT;
 
 ==== Configure filtering
 
-
-Now we need to tell `cdbimport` what we don't need in our model, for that we'll just can add following into ``<configuration>``: 
+Now we need to tell `cdbimport` what we don't need in our model, for that we'll just add following into ``<configuration>`` section:
 [source,xml]
 ----
 <excludeTable>LEGACY_PAINTING_INFO</excludeTable>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-updating-model.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-updating-model.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-updating-model.adoc
index 2e6a18b..61f5bc2 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-updating-model.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3-updating-model.adoc
@@ -11,16 +11,14 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part3_updating_model]]
 === Updating model
 
-
 We now have everything we need, let's try some more features of plugin. 
 
 ==== Update DDL
 
-
-To show next feature let's imagine that over some time our database schema has evolved and we need to synchronize it with our model, no problem we can simply run `cdbimport` again and all changes will be loaded to model.
+To show next feature let's imagine that over some time our database schema has evolved and we need to synchronize it with our model,
+no problem we can simply run `cdbimport` again and all changes will be loaded to model.
 We use following SQL script to alter our demo database: 
 [source,sql]
 ----
@@ -31,7 +29,6 @@ ALTER TABLE cayenne_demo.PAINTING_INFO ADD FOREIGN KEY (PAINTING_ID) REFERENCES
 
 ==== Run cdbimport
 
-
 Now we can simply run again 
 ----
 $ mvn cayenne:cdbimport
@@ -70,7 +67,6 @@ Great! New table and ObjEntity are in place, as well as a new field.
 
 ==== Customizing Model
 
-
 There is often a need to customize model to better fit it to your application requirements, such customization can be simple removal of toMany part of a relationship between two objects.
 Let's do it, in a Modeler just select and remove relationship `paintings` in Artist object: 
 
@@ -87,8 +83,4 @@ it still find nothing to do:
 [INFO] Detected changes: No changes to import.
 ----
 
-[NOTE]
-====
-`cdbimport` will skip only modifications in Object layer (e.g.
-ObjEntities, ObjAttributes and ObjRelationships), if you modify Db layer your changes will be overridden by next run of ``cdbimport``. 
-====
\ No newline at end of file
+NOTE: `cdbimport` will skip only modifications in Object layer (e.g. ObjEntities, ObjAttributes and ObjRelationships), if you modify Db layer your changes will be overridden by next run of ``cdbimport``.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3.adoc
index 3b50587..eb19c59 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part3.adoc
@@ -11,7 +11,6 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part3]]
 == Advanced usage of cdbimport
 
 include::part3-updating-model.adoc[]

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-classes.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-classes.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-classes.adoc
index 98d34be..5d6fe0c 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-classes.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-classes.adoc
@@ -11,13 +11,11 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part4_java_classes]]
 === Generating Java classes
 
-
 Now as we have our model ready let's generate Java code that actually will be used in application.
-In order to do that we'' use same maven plugin, but different goal, namely ``cgen``.
-It has many options to configure but default values will do for base case, so we can just call it: 
+In order to do that we'll use same maven plugin, but different goal, namely ``cgen``.
+It has many options to configure but default values will do for our case, so we can just call it:
 ----
 $ mvn cayenne:cgen
 ----
@@ -60,10 +58,7 @@ Note that Cayenne code is unrecognized, that's because we need to include Cayenn
     </dependencies>
 ----
 
-[NOTE]
-====
-`cayenne-java8` module required to support Java 8 date/time types.
-====
+NOTE: `cayenne-java8` module required to support Java 8 date/time types.
 
 Additionally we need to tell `Maven compiler plugin` that our code uses Java 8: 
 [source,xml]
@@ -81,4 +76,8 @@ Additionally we need to tell `Maven compiler plugin` that our code uses Java 8:
     ...
 ----
 
-If all done right your code now shouldn't have any errors. 
\ No newline at end of file
+If all done right your code now shouldn't have any errors. To be sure you can build it:
+
+----
+$ mvn compile
+----
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-code.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-code.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-code.adoc
index 4d768a3..4a6ca2d 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-code.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4-java-code.adoc
@@ -11,17 +11,14 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part4_java_code]]
 === Getting started with ObjectContext
 
+In this section we'll write a simple main class to run our application, and get a brief introduction to Cayenne `ObjectContext`.
 
-In this section we'll write a simple main class to run our application, and get a brief introduction to Cayenne ObjectContext.
-
-[[_creating_main_class]]
 ==== Creating the Main Class
 
-* In IDEA create a new class called "``Main``" in the "``org.apache.cayenne.tutorial``" package.
-* Create a standard "main" method to make it a runnable class:
+* In IDEA create a new class called `Main` in the `org.apache.cayenne.tutorial` package.
+* Create a standard `main()` method to make it a runnable class:
 +
 [source,java]
 ----
@@ -34,7 +31,8 @@ public class Main {
     }
 }
 ----
-* The first thing you need to be able to access the database is to create a `ServerRuntime` object (which is essentially a wrapper around Cayenne stack) and use it to obtain an instance of an ``ObjectContext``.
+* The first thing you need to be able to access the database is to create a `ServerRuntime` object
+(which is essentially a wrapper around Cayenne stack) and use it to obtain an instance of an `ObjectContext`.
 +
 [source,java]
 ----
@@ -59,11 +57,11 @@ public class Main {
 }
 ----
 + 
-``
-ObjectContext`` is an isolated "session" in Cayenne that provides all needed API to work with data.
-ObjectContext has methods to execute queries and manage persistent objects.
+`ObjectContext` is an isolated "session" in Cayenne that provides all needed API to work with data.
+`ObjectContext` has methods to execute queries and manage persistent objects.
 We'll discuss them in the following sections.
-When the first ObjectContext is created in the application, Cayenne loads XML mapping files and creates a shared access stack that is later reused by other ObjectContexts. 
+When the first ObjectContext is created in the application,
+Cayenne loads XML mapping files and creates a shared access stack that is later reused by other ObjectContexts.
 * Let's now add some code that will create persistent object: 
 +
 [source,java]
@@ -73,14 +71,12 @@ artist.setName("Picasso");
 context.commitChanges();
 ----
 
-
-[[_runnning_app]]
 ==== Running Application
 
-
 Let's check what happens when you run the application.
 But before we do that we need to add another dependencies to the `pom.xml` - MySQL Jdbc driver and simple logger.
 The following piece of XML needs to be added to the `<dependencies>...</dependencies>` section, where we already have Cayenne jars:
+
 [source,xml]
 ----
 <dependency>
@@ -94,6 +90,7 @@ The following piece of XML needs to be added to the `<dependencies>...</dependen
     <version>1.7.25</version>
 </dependency>
 ----
+NOTE: Cayenne uses Slf4j logging API, here we will use simple backend that prints everything to console
 
 Now we are ready to run.
 Right click the "Main" class in IDEA and select "Run 'Main.main()'". 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4.adoc
index 4f9c21a..8442d30 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part4.adoc
@@ -11,7 +11,6 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part4]]
 == Java code
 
 include::part4-java-classes.adoc[]

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fcdb1643/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part5.adoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part5.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part5.adoc
index 412aeb9..c0a12d7 100644
--- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part5.adoc
+++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/_getting-started-db-first/part5.adoc
@@ -11,12 +11,11 @@
 // CONDITIONS OF ANY KIND, either express or implied. See the License for
 // the specific language governing permissions and limitations under the
 // License.
-[[_getting_started_db_first_part5]]
 == What's next
 
-That's all for this tutorial! Now you know how to setup and use ``cayenne-maven-plugin``. 
+That's all for this tutorial! Now you know how to setup and use `cayenne-maven-plugin`.
 
 Next step will be creating your first application with Cayenne.
-If you not passed yet, you can try out http://cayenne.apache.org/docs/4.0/tutorial/index.html[getting-started] tutorial. 
+If you not passed yet, you can try out link:/docs/4.1/getting-started-guide/[getting-started] tutorial.
 
-You can find detailed information about configuring this plugin in http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects[documentation] available on Cayenne site. 
\ No newline at end of file
+You can find detailed information about configuring this plugin in link:/docs/4.1/cayenne-guide/#include[documentation] available on Cayenne site.
\ No newline at end of file