Speichern mit Hibernate Funktioniert nicht

Alexander1307

Grünschnabel
Hallo habe mein erstes Hibernate Projekt gestartet. Doch jetzt hängst bei mir und ich weis nicht wo. Keine Fehlermeldung garnichts und er speichert nicht. Was habe ich gemacht: also zuerst habe ich die hibernate.cfg.xml datei erstellt. der code hier:
<----------------------------------------------------- code ---------------------------------------------->
Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory>
		<property name="connection.url">
			jdbc:mysql://localhost:3307/songbook
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password">javanoja</property>
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="cache.provider_class">
			org.hibernate.cache.EhCacheProvider
		</property>
		<property name="current_session_context_class">thread</property>
		<property name="show_sql">true</property>
		<property name="hibernate.transaction.factory_class">
			org.hibernate.transaction.JDBCTransactionFactory
		</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
		<mapping class = "Autor_Object" />
	</session-factory>
</hibernate-configuration>

danach habe ich mein zu speicherndes Object (Autor_Object) erstellt. der Code hier:

Code:
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;

@Entity
public class Autor_Object implements Serializable
{
	/**
	 * Author Alexander Schaaf
	 */
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "autor_gen")
	@SequenceGenerator(name = "autor_gen", sequenceName = "autor_id_seq")
	
	private Integer id;
	private String name;
	private String vorname;
	private String  nickname;
	private Byte[] foto;
	private Date timestamp;

	public Autor_Object() {

	}

	/*public Autor_Object(String name) {
		this.name = name;
	}*/
	//------> Getter & Setter<-----
	//-----< Id >-------
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	//-----< Name >----------
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	//-----< Vorname >-------
	public String getVorname(){
		return vorname;
	}
	public void setVorname(String vorname){
		this.vorname = vorname;
	}
	//-----< Nickname >-------
	public String getNickname() {
		return nickname;
	}
	public void setNickname(String nickname) {
		this.nickname = nickname;
	}
	//-----< Foto >-------
	public Byte[] getFotoStream() {
		return foto;
	}
	public void setFotoStream(Byte[] foto){
		this.foto = foto;
	}
	//-----< Timestamp >-------
	public Date getTimestamp() {
		return timestamp;
	}
	public void setTimestamp(Date timestamp){
		this.timestamp = timestamp;
	}
	//------> Getter & Setter<-----
	public String toString() {
		return MessageFormat.format("{0}: id={1}, name={2}", new Object[] {
				getClass().getSimpleName(), id, name });
	}

}

Danach habe ich mir die Init SessionFactory klasse erstellt. Code hier:

Code:
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

public class InitSessionFactory {

	private static org.hibernate.SessionFactory sessionFactory;
	
	private InitSessionFactory() {
	}
	static {
			final AnnotationConfiguration cfg = new AnnotationConfiguration();
			cfg.configure("/hibernate.cfg.xml");
			sessionFactory = cfg.buildSessionFactory();
			}
	
	public static SessionFactory getInstance() {
		return sessionFactory;
	}
}

danach habe ich die createAutor Methode geschrieben und rufe diese in der actionPerformed Methode auf. code hier:

Code:
private Autor_Object createAutor() {
		
		Autor_Object autor = new Autor_Object();
		autor.setName(txtName.getText());
		autor.setVorname(txtVorname.getText());
		autor.setNickname(txtNickname.getText());
		autor.setFotoStream(null);
		autor.setTimestamp(null);
		Session session = InitSessionFactory.getInstance().getCurrentSession();
		try{
			Transaction tx = session.beginTransaction();

			session.save(autor);
			tx.commit();
			
		}
		catch (Exception e) {  
			JOptionPane.showMessageDialog(null,"Fehler"+e);
			session.getTransaction().rollback();
		}
		return autor;

	}
	public void actionPerformed(ActionEvent av) 
	{
		if (av.getSource().equals(btnAbbrechen))
		{
			dispose();
		}
		
		if (av.getSource().equals(btnSpeichern))
		{
			createAutor();
			JOptionPane.showMessageDialog(null," Autor gespeichert ");
			
		}

das problem ist es wird nichts gespeichert. und nach dem ich die createAutor() Methode aufrufe kommt auch keine Messagebox (JOptionPane.showMessageDialog(null," Autor gespeichert ");)
 
Zurück