Hey liebe JAVA Gemeinde!
Ich hab denke ich ein sehr simples Problem was aber gerade meinen Horizont übersteigt oder ich befinde mich gerade einfach im Projektkoller weil ich nächste Woche Abgabe habe.
Ich hoffe auf jeden Fall ihr könnt mir helfen.
Ich habe eine Anwendung mit einer EntityKlasse, einer ControllerBean und einer TestBean.
Die Methode isAllowed() in der ControllerBean erzeugt ein neues EntityObjekt und gleicht es mit der Datenbank ab.
Wenn ich in meiner View die Methode direkt aufrufe geht alles.
Ich möchte aber die Methode aus einer anderen Klasse oder Package heraus aufrufen, wenn ich das mache ist mein EntityManager immer "null".
Ich weiss nicht genau wie ich das anstelle das der EntityManager richtig injected wird, kann mir da jemand helfen?
Das wäre total super, ich bin am verzweifeln! Vielen Dank im voraus !!
ControllerBean: (von hier aufgerufen geht die Methode)
TestBean: (von hier aufgerufen ist der EM (null) )
Ich hab denke ich ein sehr simples Problem was aber gerade meinen Horizont übersteigt oder ich befinde mich gerade einfach im Projektkoller weil ich nächste Woche Abgabe habe.
Ich hoffe auf jeden Fall ihr könnt mir helfen.
Ich habe eine Anwendung mit einer EntityKlasse, einer ControllerBean und einer TestBean.
Die Methode isAllowed() in der ControllerBean erzeugt ein neues EntityObjekt und gleicht es mit der Datenbank ab.
Wenn ich in meiner View die Methode direkt aufrufe geht alles.
Ich möchte aber die Methode aus einer anderen Klasse oder Package heraus aufrufen, wenn ich das mache ist mein EntityManager immer "null".
Ich weiss nicht genau wie ich das anstelle das der EntityManager richtig injected wird, kann mir da jemand helfen?
Das wäre total super, ich bin am verzweifeln! Vielen Dank im voraus !!
ControllerBean: (von hier aufgerufen geht die Methode)
Java:
@ManagedBean
public class TestBean {
@PersistenceContext
EntityManager em;
public void isAllowed(){
Customer c1 = new Customer(1);
int id = c1.getCustomerId();
Query query = em.createNativeQuery("SELECT customer_id from customer where customer_id = "+id+"");
if (query.getResultList().isEmpty())
System.out.println("kein Eintrag");
else System.out.println("Eintrag gefunden!");
}
}
TestBean: (von hier aufgerufen ist der EM (null) )
Java:
@ManagedBean
public class CustomerBean {
public void test(){
(new TestBean()).isAllowed();
}
}
HTML:
<h:body>
<h:form>
<h:commandButton action="#{testBean.isAllowed()}" value="Methode von intern"/>
<h:commandButton action="#{customerBean.test()}" value="Methode von extern"/>
</h:form>
</h:body>
Zuletzt bearbeitet: