VideoShop

From Salespoint 5
(Difference between revisions)
Jump to: navigation, search
(Disc.java)
(JPA Basics)
Line 14: Line 14:
 
* einen Primärschlüssel, annotiert mit @Id, 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.
+
Alle persistierbaren Klassen in Salespoint5 erfüllen diese Eigenschaft und können somit direkt verwendet werden.<br />
 +
Klassen welche von Salespoint-Entityklassen erben müssen, bis auf den Primärschlüssel, ebenfalls jede Bedingung erfüllen.
  
 
=== Model ===
 
=== Model ===

Revision as of 22:45, 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 Zu­hil­fe­nah­me der Java Persistence API. Diese bringt einige Anforderungen mit sich, so müssen Klassen, die gespeichert werden sollen:

Alle persistierbaren Klassen in Salespoint5 erfüllen diese Eigenschaft und können somit direkt verwendet werden.
Klassen welche von Salespoint-Entityklassen erben müssen, bis auf den Primärschlüssel, ebenfalls jede Bedingung erfüllen.

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.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox