%Schriftgröße, Layout, Papierformat, Art des Dokumentes
%\documentclass[10pt,oneside,a4paper]{scrartcl}
\documentclass[landscape]{article}


%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

% http://ctan.org/pkg/graphicx
\usepackage{graphicx}

%Kopfzeile
\ihead{Java}
\chead{}
\ohead{http://kohnlehome.de/java/jpa-beziehungen.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
JPA: Objekte und Beziehungen
\end{center}

\section*{1:1}
\begin{tabular}{l | c | c}
Klassendiagramm & JPA & RDMS\\ \hline \hline
\includegraphics[width=50mm]{Klasse-OneToOne.png} & 
\begin{minipage}{75mm}
\begin{verbatim}  

@Entity
class Schueler {
    @Id
    private String id;
      
    @OneToOne(cascade = CascadeType.ALL)  
    private Adresse adresse;
    
    // ...
}

@Entity
class Adresse {
    @Id
    private String id;
    
    // ...
}

\end{verbatim}
\end{minipage}

 &  \includegraphics[width=60mm]{RDMS-OneToOne.png}\\ \hline
\end{tabular}

\section*{1:n}
\begin{tabular}{l | c | c}
Klassendiagramm & JPA & RDMS\\ \hline \hline
\includegraphics[width=50mm]{Klasse-OneToMany.png} &
 
 \begin{minipage}{80mm}
\begin{verbatim}  

@Entity
class Schulklasse {
    @Id
    private String id;
    
    @OneToMany(cascade = CascadeType.ALL)
    @JoinColumn(name = "SCHULKLASSE_ID")
    private List<Schueler> schueler;
    
    // ...
}

@Entity
class Schueler {
    @Id
    private String id;
        
    private Schulklasse schulklasse;
           
    // ...
}

\end{verbatim}
\end{minipage}
 
&  \includegraphics[width=60mm]{RDMS-OneToMany.png}\\ \hline
\end{tabular}

\section*{n:m}
\begin{tabular}{l | c | c}
Klassendiagramm & JPA & RDMS\\ \hline \hline
\includegraphics[width=50mm]{Klasse-ManyToMany.png} &
 
 \begin{minipage}{80mm}
\begin{verbatim}  

@Entity
class Kurs {
    @Id
    private String id;
    
    @ManyToMany
    private List<Schueler> schueler;
    
    // ...
}

@Entity
class Schueler {
    @Id
    private String id;
        
    @ManyToMany(mappedBy = "schueler")
    private List<Kurs> kurs;
    
    // ...
}

\end{verbatim}
\end{minipage}
 
&  \includegraphics[width=80mm]{RDMS-ManyToMany.png}\\ \hline


\end{tabular}


\end{document}
