-->
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.  [ 4 posts ] 
Author Message
 Post subject: OneToMany
PostPosted: Fri Sep 12, 2008 11:28 am 
Newbie

Joined: Fri Sep 12, 2008 9:21 am
Posts: 3
Hallo,

ich hab ein Problem mit einer OneToMany Beziehung.

Wenn ich folgende Objekte erzeuge und spreichern möchte,
bekomme ich einen Fehler:

User user = new User();
user.setUsername("test1234");
user.setPassword("test1234");
user.setControlPaswd("test1234");
user.setEmail("test@test.de");
UserLog userLog = new UserLog();
userLog.setMessage("message");
user.getUserlogs().add(userLog);
userService.storeNewUser(user);

Im User gibt es eine Liste mit UserLog-Objekten:

@OneToMany
public List<UserLog> getUserlogs() {
return userlogs;
}


org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: de.navino.bo.UserLog

Was mache ich falsch? Muss erst das UserObject in die Datenbankgeschrieben werden?

Gruß
Klaus Neumann


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 12, 2008 4:43 pm 
Pro
Pro

Joined: Tue Jun 12, 2007 4:13 am
Posts: 209
Location: Berlin, Germany
Quote:

Muss erst das UserObject in die Datenbankgeschrieben werden?


Nein, das muss es nicht. Das kann der "Owner", also das User-Objekt selber machen - wenn denn die Beziehungen richtig gesetzt sind. Ich vermute, im UserLog hast du eine Referenz auf den Owner, sprich den User.l Und ich vermute weiterhin, dass du diese Referenz nicht gesetzt hast.

Quote:
user.getUserlogs().add(userLog);


würde ich nicht schreiben. Besser wäre m.E.:
Code:
user.addLog(userLog)


und in dieser Methode könntest du dann beide Referenzen korrekt setzen.

_________________
Carlo
-----------------------------------------------------------
please don't forget to rate if this post helped you


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 13, 2008 7:36 am 
Newbie

Joined: Fri Sep 12, 2008 9:21 am
Posts: 3
Hallo,

ich habe die Beziehung nur zu einer Seite.
Der User kennt seine UserLog, aber nicht umgekehrt...

Im UserLog ist nur die user_id vorhanden:
private Long id;
private String message;
private Long user_id;

Gruß
Klaus


Top
 Profile  
 
 Post subject:
PostPosted: Mon Sep 15, 2008 7:59 am 
Pro
Pro

Joined: Tue Jun 12, 2007 4:13 am
Posts: 209
Location: Berlin, Germany
Hallo Klaus,

vielleicht hilft dieser Link http://cagataycivici.wordpress.com/2005/11/15/p_i_ve_faced_with/ ?

_________________
Carlo
-----------------------------------------------------------
please don't forget to rate if this post helped you


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 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.