JSF+Hibernate - mir fehlt der Link zur Bean

Wutklumpen

Mitglied
€dit: die Titelzeile stimmt nicht mehr ganz, hat sich während des schreibens geändert ;)
Hallo!

Ich muss mich Praktikumsbedingt um einige Frontends von Webdiensten kümmern, die auf JSF basieren.

Hab mich also seit letzter Woche langsam rangetastet und aus diesem Ökosystem von Tools, welches mittlerweile um JSF existiert, die nötigen rausgesucht.

Ich arbeite mit Ecplise, nutze als DB MySQL und brauche unmissverständlich ORM, deshalb Hibernate. Ansonsten MyFaces und Tomahawk

Nun weiß ich allerdings nicht so recht, wie ich zB beim klick des CommandButton die eingetragenen Daten in die DB schreiben kann.

Ich habe ein Hibernatetest-Projekt schon erfolgreich meistern können, Daten in die DB schreiben, auflisten, updaten und deleten. CRUD geht eigentlich ;)

Ich weiß nich ganz, wie ichs beschrieben soll, aber zum konkreten Problem:

Ich nehme Daten zwar aus einer form in eine Bean auf, und schreibe als action die Funktion register() hin, die die Daten dann an meine CRUD-Main weitergibt, die letzten Ends auch den DB zugriff etc bewerkstelligen soll!

Ich bin mir nur nich sicher ob das überhaupt der richtige weg ist, mal ganz davon abgesehn dass ich beim klicken eine java.lang.ClassNotFoundException von Hibernate bekomm. Prinzipiell versuche ich grade mein JavaProjekt mit dem Hibernate mit meine Dyn. Web Projekt zu mergen.

Ich poste grade mal die codesnips, nur das nötigste, getter und setter zB sind vorhanden, aber nicht dabei:

Input.jsp:
Code:
<h:form id="inputForm">
	<h:outputText value ="Bitte Vorname eingeben:"></h:outputText> <br>
	<h:inputText  value="#{TelBean.firstName}" ></h:inputText> <br>
	<h:outputText value = "Bitte Nachname eingeben:"></h:outputText> <br>
	<h:inputText  value="#{TelBean.lastName}" ></h:inputText> <br>
	<h:outputText value = "Bitte Telefonnummer eingeben:"></h:outputText> <br>
	<h:inputText  value="#{TelBean.telNr}" ></h:inputText> <br>
	<h:commandButton value = "Datensatz eintragen" action="#{TelBean.register}" style="margin-top: 3px"></h:commandButton>
</h:form>

TelBean.java:
Code:
public class TelBean implements java.io.Serializable {

	private int Id;
	private String firstName;
	private String lastName;
	private String TelNr;

	public TelBean() {
	}
	
	public String register()
	{
		String status = "success";
		TelBean telrec = new TelBean();
			
		telrec.setFirstName(getFirstName());
		telrec.setLastName(getLastName());
		telrec.setTelNr(getTelNr());
		
                Main obj = new Main();
		obj.saveTelRec(telrec);		
		return status;
		}
		catch(Exception e)
		{
			System.out.println("Hier lüft tierisch was schief!");
			e.printStackTrace();
			return "fail";
		}
	}

Main.java:
Code:
public int saveTelRec(TelBean telrec)
	{
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction transaction = null;
		int TelRecId = 0;
		
		try 
		{
			transaction = session.beginTransaction();			
			TelRecId = (Integer) session.save(telrec);
			
			transaction.commit();
		}
		catch(HibernateException e)
		{
			transaction.rollback();
			e.printStackTrace();
		}
		finally
		{
			session.close();
		}
		return TelRecId;
	}

Könnte das ein Möglichkeit sein, oder bin ich da grade voll aufm Holzweg?
Und woran könnte die ClassNotFoundException liegen? Mal abgesehn davon, das er ne Klasse nicht finden kann^^. Hab grade Hibernate.cfg.xml und TelBean.hbm.xml gecheckt, sollte alles stimmen!

Vielen Dank schonmal, und syr für den langen Post!

Grüße, der Wutklumpen!

------------------------------------------------------
€: ich bekomm immer 2 Fehler, mal einen mal den anderen!
1. javax.crypto.BadPaddingException: Given final block not properly padded
2. Error calling action method of component with id inputForm:j_id_jsp_961634643_11(<--- das ist der CommandButton)
Caused by: java.lang.ClassNotFoundException - org.hibernate.HibernateException

Das ganze is davon abhängig, ob ich meine Main.java in der TelBean.java instanziere oder nicht!
Irgendwas entfällt mir hier grade!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück