VideoShop
(→Disc.java) |
|||
Line 16: | Line 16: | ||
Alle persistierbaren Klassen in Salespoint5 erfüllen diese Eigenschaft und können somit direkt verwendet werden. | Alle persistierbaren Klassen in Salespoint5 erfüllen diese Eigenschaft und können somit direkt verwendet werden. | ||
− | === | + | === Model === |
Da der Shop DVD sowie BluRay verkaufen soll ist es sinnvoll eine gemeinsame Basisklasse zu erstellen. | Da der Shop DVD sowie BluRay verkaufen soll ist es sinnvoll eine gemeinsame Basisklasse zu erstellen. | ||
− | Da Filme in einem Katalog landen, ist es sinnvoll diese von | + | Da Filme in einem Katalog landen, ist es sinnvoll diese von Product erben zu lassen, dadurch können sie im Catalog verwendet werden. |
Man beachte, dass die Klasse mit @Entity annotiert ist und einen parameterlosen Konstruktor besitzt, da dieser aber nicht direkt genutzt werden soll, ist er mit @Deprecated markiert. | Man beachte, dass die Klasse mit @Entity annotiert ist und einen parameterlosen Konstruktor besitzt, da dieser aber nicht direkt genutzt werden soll, ist er mit @Deprecated markiert. | ||
− | + | Auf den Primärschlüssel kann verzichtet werden, da sich dieser schon in Product befindet. | |
− | Auf den Primärschlüssel kann verzichtet werden, da sich dieser schon in | + |
Revision as of 22:42, 28 October 2013
Einleitung
Ein kleines Beispielprojekt, der Videoshop, soll mit Hilfe von Salespoint 5 umgesetzt werden.
In dem Videoshop sollen sich Nutzer registrieren und anmelden können, sowie in Katalogen blättern und Filme zu einem Warenkorb hinzufügen können.
Außerdem soll jeder Film kommentiert werden können und nur angemeldete Nutzer sollen Filme kaufen können.
Ziel ist, das Framework so gut wie möglich zu verwenden und so den zu schreibenden Code zu minimieren.
Es wird erwartet, dass das Guestbook Tutorial durchgearbeitet und verstanden wurde.
JPA Basics
Salespoint5 speichert Daten unter Zuhilfenahme der Java Persistence API. Diese bringt einige Anforderungen mit sich, so müssen Klassen, die gespeichert werden sollen:
- mit @Entity annotiert werden
- nicht final sein
- einen parameterlosen public oder protected Konstruktor besitzen
- einen Primärschlüssel, annotiert mit @Id, besitzen
Alle persistierbaren Klassen in Salespoint5 erfüllen diese Eigenschaft und können somit direkt verwendet werden.
Model
Da der Shop DVD sowie BluRay verkaufen soll ist es sinnvoll eine gemeinsame Basisklasse zu erstellen. Da Filme in einem Katalog landen, ist es sinnvoll diese von Product erben zu lassen, dadurch können sie im Catalog verwendet werden. Man beachte, dass die Klasse mit @Entity annotiert ist und einen parameterlosen Konstruktor besitzt, da dieser aber nicht direkt genutzt werden soll, ist er mit @Deprecated markiert. Auf den Primärschlüssel kann verzichtet werden, da sich dieser schon in Product befindet.