# Datum mit Hibernate in Datenbank speicher



## MU5T4NG (16. Apr 2011)

Hallo,

ich möchte in meine MySQL Datenbank ein simples Datum abspeichern, aber es wird nichts gespeichert.
Die Spalte in der DB ist vom Typ 'date'. Mein Java-Code mit Hibernate sieht so aus:


```
Rating rating = new Rating();

        rating.setUser(curUser);
        rating.setSight(curSight);
        rating.setRating(selectedStars);
        rating.setComment(txt_ratingDesc.getText());
        rating.setCreationDate(new Date());

        try{
            Session session = HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            session.save(rating);
            session.getTransaction().commit();
        }
        catch(HibernateException he){
            JOptionPane.showMessageDialog(null, he.getMessage(1), "Datenbankfehler", JOptionPane.ERROR_MESSAGE);
            he.printStackTrace();
        }
```

Laut Google und anderen Seiten sollte das mit 
	
	
	
	





```
rating.setCreationDate(new Date());
```
 funktionieren, geht aber nicht. Es wird einfach nichts abgespeichert, alle anderen Werte werden aber gestezt, nur das Datum nicht.

Wo ist der Haken?


----------



## SlaterB (16. Apr 2011)

wichtig ist nicht nur die Java-Klasse mit Attribut, setter und getter, sondern auch das Mapping zur Datenbank,
eigentlich zu einfach dort einen Fehler anzunehmen aber wenn du es nichtmal selber postest kann auch wieder alles mögliche falsch gemacht sein


----------



## MU5T4NG (16. Apr 2011)

Also noch mehr Input? 

Rating.java (Pojo)

```
import java.util.Date;

public class Rating  implements java.io.Serializable {

     private Integer ratingId;
     private User user;
     private Sight sight;
     private int rating;
     private String comment;
     private Date creationDate;

    public Rating() {
    }

	
    public Rating(User user, Sight sight, int rating) {
        this.user = user;
        this.sight = sight;
        this.rating = rating;
    }
    public Rating(User user, Sight sight, int rating, String comment, Date creationDate) {
       this.user = user;
       this.sight = sight;
       this.rating = rating;
       this.comment = comment;
       this.creationDate = creationDate;
    }
  
[...]

    public Date getCreationDate() {
        return this.creationDate;
    }
    
    public void setCreationDate(Date creationDate) {
        this.creationDate = creationDate;
    }
}
```

Rating.hbm.xml (Mapping)
[XML]<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 16.04.2011 18:28:28 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
    <class name="pictour.entity.Rating" table="rating" catalog="pictour">
        <id name="ratingId" type="java.lang.Integer">
            <column name="rating_id" />
            <generator class="identity" />
        </id>
        <many-to-one name="user" class="pictour.entity.User" fetch="select">
            <column name="user_id" not-null="true" />
        </many-to-one>
        <many-to-one name="sight" class="pictour.entity.Sight" fetch="select">
            <column name="sight_id" not-null="true" />
        </many-to-one>
        <property name="rating" type="int">
            <column name="rating" not-null="true" />
        </property>
        <property name="comment" type="string">
            <column name="comment" length="65535" />
        </property>
        <property name="creationDate" type="date">
            <column name="creation_date" length="10" />
        </property>
    </class>
</hibernate-mapping>
[/XML]


----------

