Hibernate Mapping klappt nicht

FIAE10

Grünschnabel
Hallo,

ich habe ein Projekt angefangen und benutzte Hibernate. Nun habe ich angefangen die Registration zu schreiben. Das Projekt ist in J2EE realisiert. Als ich nun die Datenbankverbindung mit Hibernate aufgebaut habe und ein Userobjekt speichern will, bekomme ich eine Exception.

Hier die Modelklasse:

Code:
package diller.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;


@Entity(name="user")
@Table(name="user")
public class User {

	private String benutzername;
	private String passwort;
	private String mail;
	
	public User(){
		
	}

	@Id
	@Column(name="username")
	public String getBenutzername() {
		return benutzername;
	}
	
	public void setBenutzername(String benutzername) {
		this.benutzername = benutzername;
	}

	@Column(name="password")
	public String getPasswort() {
		return passwort;
	}

	public void setPasswort(String passwort) {
		this.passwort = passwort;
	}

	@Column(name="mail")
	public String getMail() {
		return mail;
	}

	public void setMail(String mail) {
		this.mail = mail;
	}
}

Hier das Servlet mit in dem mit Hibernate gearbeitet wird:
Code:
package diller.servlets;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hibernate.Query;
import org.hibernate.Session;

import diller.datenbank.DBmanager;
import diller.helfer.PasswortCheck;
import diller.model.User;

/**
 * Servlet implementation class Register
 */
public class Register extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public Register() {
		super();

	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		String username = (String) request.getParameter("username");
		String pw = (String) request.getParameter("pw");
		String pww = (String) request.getParameter("pww");
		String mail = (String) request.getParameter("mail");
		boolean validPasswort = true, validUsernameOrMail = true;
		String fehler = "";
		Session session = DBmanager.connect();

		String sql = "Select * from User";
		Query q = session.createSQLQuery(sql);

		@SuppressWarnings("unchecked")
		List<User> l = q.list();

		for (User u : l) {
			if (u.getBenutzername().equals(username)
					|| u.getMail().equals(mail)) {
				validUsernameOrMail = false;
				fehler += "Mail oder username schon vorhanden";
			}
		}

		PasswortCheck check = new PasswortCheck(pw, pww);
		validPasswort = check.checkPasswort();
		if (validPasswort == false) {
			fehler += " passwort fehler";
		}

		if (validUsernameOrMail == false || validPasswort == false) {
			DBmanager.closeConnection();
			response.sendRedirect("./jsp/invalidreg.jsp");
			System.out.println(fehler);
		} else {
			User u = new User();
			u.setBenutzername(username);
			u.setPasswort(pw);
			u.setMail(mail);
			session.save(u);
			DBmanager.closeConnection();
			response.sendRedirect("./jsp/success.jsp");
		}
	}
}

Hier die Hibernate-Konfiguration:
Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database Verbindungs-Informationen -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://127.0.0.1:3306/cit1</property>
        <property name="connection.username">root</property>
        <property name="connection.password">AdMadL55_</property>

        <!-- JDBC connection pool  -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Ausgabe aller SQL-Befehle nach stdout -->
<!--    <property name="show_sql">true</property>  -->

        <!-- Erzeuge die Tabellen bei Bedarf -->
<!--    <property name="hbm2ddl.auto">update</property>	 -->
        
        <!-- Einzubindende Konfigurationen (Klassen)-->
        <mapping class="diller.model.User"/>
    </session-factory>
</hibernate-configuration>

hier die Exception:

Code:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to diller.model.User
	at diller.servlets.Register.doPost(Register.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Hoffe das reicht damit man mir helfen kann ^^.

MfG :)
 
Zurück