Hallo zusammen!
Ich bin relativ neu in Java und auch in JPA und arbeite mich gerade durch ein Buch um die Beziehungen und zugehörigen Annotationen zu verstehen.
Ich habe jetzt zwei Entitys erstellt und die Entity "Kunde" mit der Entity "Adresse" per OnetoOne verknüpft. Die property "strasse" spreche ich über einen EL Ausdruck in JSF an.
Wenn ich nun Daten in die "Adresse" schreiben will findet er die verknüpfte Propperty nicht.
hat jemand einen Rat?
viele Grüße, Alex !!
Presentation Modell:
BEAN:
Kunde:
Ich bin relativ neu in Java und auch in JPA und arbeite mich gerade durch ein Buch um die Beziehungen und zugehörigen Annotationen zu verstehen.
Ich habe jetzt zwei Entitys erstellt und die Entity "Kunde" mit der Entity "Adresse" per OnetoOne verknüpft. Die property "strasse" spreche ich über einen EL Ausdruck in JSF an.
Wenn ich nun Daten in die "Adresse" schreiben will findet er die verknüpfte Propperty nicht.
hat jemand einen Rat?
viele Grüße, Alex !!
HTML:
<h:form id="form_gruppe">
<h:panelGrid columns="2" cellpadding="5" >
<h:outputLabel for="nname" value="Nachname : "/>
<h:inputText id="nname" value="#{beispielPM.kunde.nachname}"/>
<h:outputLabel for="vname" value="Vorname : "/>
<h:inputText id="vname" value="#{beispielPM.kunde.vorname}"/>
<h:outputLabel for="strasse" value="Strasse : "/>
<h:inputText id="strasse" value="#{beispielPM.kunde.adresse.strasse}"/>
</h:panelGrid>
<h:commandButton value="add" action="#{beispielPM.storeKunde()}"/>
</h:form>
Presentation Modell:
Java:
@Named
@RequestScoped
public class BeispielPM {
private Kunde kunde = new Kunde();
private Adresse adresse = new Adresse();
@EJB
JpaBean bean;
//------GETTER&SETTERS---------------------------
public Adresse getAdresse() {
return adresse;
}
public void setAdresse(Adresse adresse) {
this.adresse = adresse;
}
public Kunde getKunde() {
return kunde;
}
public void setKunde(Kunde kunde) {
this.kunde = kunde;
}
//------METHODS----------------------------------
public void storeKunde(){
bean.addKunde(kunde);
System.out.println("Kunde gespeichert!");
}
}
Java:
@Named
@Stateless
public class JpaBean {
@PersistenceContext
EntityManager em;
public void addKunde(Kunde kunde){
em.persist(kunde);
System.out.println("Kunde hinzugefügt!");
}
}
Kunde:
Java:
@Entity
public class Kunde implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String vorname;
private String nachname;
private String anrede;
private String geburtsdatum ;
@OneToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name="adresse",nullable = false)
private Adresse adresse;
Zuletzt bearbeitet: