Hallo, ich habe folgendes Problem, ich kann einfach nicht informationen in die Datenbank schreiben oder rauslesen es kommt immer nur java.lang.NullPointerException zurück.
Aber hier nochmal alles etwas genauer:
Es ist eine JavaEE anwendung, und es wird auf eine JavaDB zugegriffen, das der zugriff funktioniert sehe ich daran das wenn ich die Einstellung in der persistence.xml bei Strategie bei der Tabellenerzeugung auf "Drop and Create" gestellt hab und es immer eine neue Tabelle erstellt.
Der Fehler tritt auf wenn ich versuche mittels eines DAO etwas in die Datenbank zu schreiben oder rauslesen. Der fehler ist nochmal im quelltext markiert.
sieht jemand etwas, vieleicht habe ich auch einfach nur eine Annotation irgendwo vergessen.
Vielen Dank schon mal im Vorraus
Hier mein Quellcode:
SingleUploadResult.java - Servlet
MedienBilderDAO.java - DAO
MedienBilder.java - Ententitätsklasse
Aber hier nochmal alles etwas genauer:
Es ist eine JavaEE anwendung, und es wird auf eine JavaDB zugegriffen, das der zugriff funktioniert sehe ich daran das wenn ich die Einstellung in der persistence.xml bei Strategie bei der Tabellenerzeugung auf "Drop and Create" gestellt hab und es immer eine neue Tabelle erstellt.
Der Fehler tritt auf wenn ich versuche mittels eines DAO etwas in die Datenbank zu schreiben oder rauslesen. Der fehler ist nochmal im quelltext markiert.
sieht jemand etwas, vieleicht habe ich auch einfach nur eine Annotation irgendwo vergessen.
Vielen Dank schon mal im Vorraus
Hier mein Quellcode:
SingleUploadResult.java - Servlet
Java:
package com;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* zeigt das ergebnis des downloads an - Servlet
*/
@WebServlet("/singleUpload")
public class SingleUploadResult extends HttpServlet {
@EJB
private MedienBilderDAO medienBilderDAO;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// hier wird die datei in die datenbank eingetragen
MedienBilder medienBilder = new MedienBilder("name1", 152, 352, "jpg", "ort1", "ort2");
// genau hier tritt der fehler auf
// er geht auch gar nicht in die funtion create rein sondern bringt die fehlermeldung beim funktionsaufruf schon
medienBilderDAO.create(medienBilder);
try { // #### HTML Ausgabe
out.println("<html>");
out.println("<head>");
out.println("<title>Dateiupload</title>");
out.println("</head>");
out.println("<body>");
out.println("<br/>");
out.println("<table border=\"2\">");
out.println("<tr>");
out.println("<td>");
out.println("<b>Die Datei mit dem Namen: </b><br/>");
//out.println(saveFile);
out.println("<br/><b>und der Dateiendung:</b>");
// out.println(typ);
out.println("<br/><b>wurde erfolgreich Hochgeladen!</b>");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
out.println("<br/><br/>");
// out.println("Bildbreite: " + newImgVerwalter.getWidth());
out.println("<br/><br/>");
// out.println("Bildhoehe: " + newImgVerwalter.getHeight());
out.println("<br/><br/>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// ... die restlichen methoden die automatisch erstellt wurden
}
MedienBilderDAO.java - DAO
Java:
package com;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
@Stateless
public class MedienBilderDAO {
@PersistenceContext
private EntityManager em;
public void create(MedienBilder medienBilder) {
em.persist(medienBilder);
}
public List<MedienBilder> getAll() {
TypedQuery<MedienBilder> query = em.createQuery("select c from MedienBilder c", MedienBilder.class);
return query.getResultList();
}
}
MedienBilder.java - Ententitätsklasse
Java:
package com;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
/**
* Entitätsklasse
*/
@Entity
public class MedienBilder implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "BILDER_ID")
private Long id;
@Column(name = "BILDER_NAME")
private String name;
@Column(name = "BILDER_WIDTH")
private int width;
@Column(name = "BILDER_HEIGHT")
private int height;
@Column(name = "BILDER_TYP")
private String typ;
@Column(name = "BILDER_LOCATION")
private String location;
@Column(name = "BILDER_LOCATION_MINIBILD")
private String locationMinibild;
public MedienBilder() {
}
public MedienBilder(String name, int width, int height, String typ, String location, String locationMinibild) {
this.name = name;
this.width = width;
this.height = height;
this.typ = typ;
this.location = location;
this.locationMinibild = locationMinibild;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getLocationMinibild() {
return locationMinibild;
}
public void setLocationMinibild(String locationMinibild) {
this.locationMinibild = locationMinibild;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTyp() {
return typ;
}
public void setTyp(String typ) {
this.typ = typ;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
// andere automatisch generierte funktionen
}
Zuletzt bearbeitet: