Hello Dmitry,
From what you sent I do not see anything that could be going wrong. If the pupil is an existing object then there is no need to call 'em.persist(pupil);' but this shouldn't be causing an error.
Is it possible for you to provide a simple test case? I would also recommend moving to v2 builds.
--Gordon
-----Original Message-----
From: Dmitry Mozheyko [mailto:mozheyko_d_at_mail.ru]
Sent: Saturday, May 27, 2006 12:15 PM
To: persistence_at_glassfish.dev.java.net
Subject: Re[2]: Empty references object
-----Original Message-----
From: "Gordon Yorke" <gordon.yorke_at_oracle.com>
To: "mozheyko_d_at_mail.ru" <mozheyko_d_at_mail.ru>
Date: Fri, 26 May 2006 09:04:07 -0400
Subject: RE: Empty references object
> Hello Dmitry,
> Can you send the code that performs the update? Can you provide the source for the Grade class as well? How are the PK's structured?
####### Code for update grade of Pupil #############
...
Long gradePK = new Long(<some received value>);
Grade grade = em.find(Grade.class, gradePK);
pupil.setGrade(grade);
em.persist(pupil);
...
############ PK of Grade entity is enherited from parent class
...
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class MyEntityParent implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
...
@Entity
public class Grade extends VersionControl {
...
> --Gordon
>
> -----Original Message-----
> From: Dmitry Mozheyko [mailto:mozheyko_d_at_mail.ru]
> Sent: Friday, May 26, 2006 4:09 AM
> To: persistence_at_glassfish.dev.java.net
> Subject: Empty references object
>
>
> I use glassfish b48.
> I need two classes with unidirectional ManyToOne relation:
>
> Pupil -> Grade
>
> ###### Pupil.java ########
> ...
> @Entity
> public class Pupil extends Person {
> ...
> @ManyToOne(targetEntity=Grade.class)
> private Grade grade;
> ...
> }
>
> When i change Pupil-instance grade attribute from 'A' to 'B' grade attribute in pupil instance, database updates successfully, but grade attribute of Pupil instance contents Grade-class instance with all NULL fields, and
> em.createQuery("select o from Grade o where order by o.name").getResultList();
> returns Collection with all Grade objects, but on the 'B-object-place' i see object with all fields = null.
> i.e.
>
> #########################
> id name
> "1" "A"
> "" ""
> "3" "C"
> ##########################
>
> I tried to run on various platforms and glassfish versions, on JavaDB and PostgreSQL database, various CascadeType's - same result.
>
> When i redeploy my application(or restart server;-)) all is ok.
>
> When is my problem?
>