-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: date_changed, date_created
PostPosted: Wed May 23, 2007 5:47 am 
Newbie

Joined: Tue May 08, 2007 5:32 pm
Posts: 7
Hallo *,

Ich habe in einem Mapping file folgendes definiert,

<property name="dateChanged" type="timestamp" generated="always" insert="false" update="false">
<column name="date_changed" >
<comment></comment>
</column>
</property>
<property name="dateCreated" type="timestamp" generated="insert" insert="false" update="false">
<column name="date_created" >
<comment></comment>
</column>
</property>


kann mir jemand sagen warum ich in der Datenbank immer null
in diesen Spalten habe?

Datenbank ist MySql 5.0.37-community.

Wäre cool wenn jemand den Fehler kennt?

Gruß
Chris


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 23, 2007 8:21 am 
Regular
Regular

Joined: Thu Jan 27, 2005 8:58 am
Posts: 80
insert="false" update="false"

damit schliesst Du dieses Property von jeden update- oder insert-Statement aus

http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-property

_________________
Weise ist nicht, wer viele Erfahrungen macht, sondern wer aus wenigen lernt, viele nicht machen zu müssen. (Karlheinz Deschner)


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 23, 2007 9:17 am 
Newbie

Joined: Tue May 08, 2007 5:32 pm
Posts: 7
danke für den reply.

hab ich auch schon probiert, geht aber auch net.

ich weiss nicht woran das liegen könnte!
Hab auch schon 2 stunden gegoogelt und nichts gefunden.

Aber eigentlich sollte es doch funktionieren.in der Hibernate-docu steht
sogar das man die properties auf insert="false" update="false" setzen soll.
Hab ich zumindest so verstanden.

jemand noch ne idee?


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 23, 2007 10:36 am 
Regular
Regular

Joined: Thu Jan 27, 2005 8:58 am
Posts: 80
So wie Dein Mapping für mich auf den ersten Blick aussieht willst Du, dass die DB beim Speichern ein Datum erzeugt und in der Spalte hinterlegt. Sehe ich das richtig?
Dann ist das mit dem insert="false" und update="false" richtig, da gebe ich Dir recht.

Aber:
wenn ich die Doku richtig Lese, dann darfst Du keine allgemeine Property mit type="timestamp" erzeugen, sondern direkt einen
Code:
<timestamp
        column="date_changed
        name="dateChanged"
        generated="always"
/>


mit dem zusätzlichen Attribut source kannst Du dann noch bestimmen ob der Timestamp aus der VM oder aus der DB gezogen werden soll.


Ach fast noch den Link zur Doku vergessen:
5.1.8. timestamp (optional)

_________________
Weise ist nicht, wer viele Erfahrungen macht, sondern wer aus wenigen lernt, viele nicht machen zu müssen. (Karlheinz Deschner)


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 23, 2007 10:48 am 
Newbie

Joined: Tue May 08, 2007 5:32 pm
Posts: 7
aber ich kann nur eins verwenden timestamp oder version.

und ich hätte zusätzlich zur version ein date_created und date_changed.

des wegen wollte ich es über properties machen.

aber das scheint so nicht zu gehen.

mit <timestamp> funktioniert es, aber ich möchte die version drin haben.

Gruß


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 23, 2007 10:58 am 
Regular
Regular

Joined: Thu Jan 27, 2005 8:58 am
Posts: 80
Hmm dann scheint der <timestamp>-TAG nur zur internen Versionierung zu gehören. Hast Du denn Deine Datenbank-Tabelle denn auch so eingestellt, dass sie bei Insert, Update entsprechend die Tabellenzelle füllt (über Trigger oder so)?

_________________
Weise ist nicht, wer viele Erfahrungen macht, sondern wer aus wenigen lernt, viele nicht machen zu müssen. (Karlheinz Deschner)


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 23, 2007 5:41 pm 
Newbie

Joined: Tue May 08, 2007 5:32 pm
Posts: 7
danke für den trigger hinweis!!

<database-object>
<create>
CREATE TRIGGER database.tabellennameCreateTrigger BEFORE INSERT ON database.tabellenname FOR EACH ROW SET NEW.date_created = NOW();
</create>
<drop>
DROP TRIGGER CreateTrigger;
</drop>
<dialect-scope name="org.hibernate.dialect.MySQLDialect"/>
</database-object>

Greetz
Chris


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.