Hi
Ich hab Glassfish v3 final und hab folgendes Problem mit EclipseLink:
Das Problem ist jetzt wenn ich mit getTestData am Client die Daten abfrage bekomm ich zwar "KARL" - aber die Hobbies nicht ... Das Eager Load greift nicht ...
Ich hab dann mit JOIN FETCH probiert - geht - aber ich bekomme die Ergebnisse durch das JOIN doppelt :S Verwende MySQL - die Daten werden in die Datenbank korrekt geschrieben ...
Weiß jemand was da falsch rennt?
Danke
LG
Ich hab Glassfish v3 final und hab folgendes Problem mit EclipseLink:
Java:
@Entity
public class Person implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@OneToMany(mappedBy = "person", fetch = FetchType.EAGER)
private List<Hobby> hobbys;
// getter und setter
}
Java:
@Entity
public class Hobby
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@ManyToOne
@JoinColumn
private Person person;
// getter und setter
}
Java:
@javax.ejb.Remote
public interface Testing
{
public void addTestData();
public List<Person> getTestData();
}
Java:
@javax.ejb.Stateless
public class TestingBean implements Testing
{
@javax.persistence.PersistenceContext
private EntityManager entityManager;
public void addTestData()
{
Person p = new Person();
p.setName("KARL");
entityManager.persist(p);
Hobby h1 = new Hobby();
h1.setName("h1");
h1.setPerson(p);
entityManager.persist(h1);
}
public List<Person> getTestData()
{
TypedQuery<Person> gridQuery = entityManager.createQuery("SELECT e FROM Person e", Person.class);
return gridQuery.getResultList();
}
}
Das Problem ist jetzt wenn ich mit getTestData am Client die Daten abfrage bekomm ich zwar "KARL" - aber die Hobbies nicht ... Das Eager Load greift nicht ...
Ich hab dann mit JOIN FETCH probiert - geht - aber ich bekomme die Ergebnisse durch das JOIN doppelt :S Verwende MySQL - die Daten werden in die Datenbank korrekt geschrieben ...
Weiß jemand was da falsch rennt?
Danke
LG
Zuletzt bearbeitet: