JBoss Community

returned values are empty!

created by Joseph Hwang in EJB3 - View the full discussion

I coded 2 entity class and joined them with @ManyToOne annotation like below

 

- Members.java

 

@Entity
@Table(name = "family")
public class Members implements Serializable {
    @Id
    @Column(name = "EMP_ID")
    private String id ;

   

   @Column(name = "EMP_Passwd")
    private String passwd ;
   
    @Column(name = "EMP_Name")
    private String name ;

   

    @Column(name="EMP_Record")
    @OneToMany(fetch=FetchType.EAGER, mappedBy="member", cascade=CascadeType.ALL)
    private List<Records> record;

 

    ...getter and setter method...

 

   

    public List<Records> getRecord() {
       return record;
    }

 

    public void setRecord(List<Records> record) {
       this.record = record;
    }

}

 

- Records.java

@Entity
@Table(name = "info")
public class Records implements Serializable {
   
   @Id
   @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name = "EMP_ID")
    private int i;
   
    @ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.ALL)
    @JoinColumn(name="EMP_Record")
    private Members member;

   

   @Column(name = "EMP_Bank_Account")
    private String account;

   

   @Column(name = "EMP_Hobby")
    private String hobby;

   

    @Column(name = "EMP_Phone")
    private int phone;

 

    ...getter and setter method..

}

 

EntityManager.persist is OK. Data were inserted well. But Members.getRecord() method is problem.

 

In Bean class I coded to return value List<Records> like below

 

@Stateless
public class MappingTestBean implements IMappingTestPort {

    @PersistenceContext(unitName="MyFamily")
    EntityManager em;

 

    public List<Records> getFamilyMember(String name) {
        // TODO Auto-generated method stub
        Members m = (Members)em.find(Members.class, name); // EntityManager.find() works well
        System.out.println(m.toString()); // The method prints some value
        List<Records> records = m.getRecord(); // getRecord() return empty value
        System.out.println(records.toString());
 
        return records;

   }

}

 

in console

Joined select is executed well.

[STDOUT] Hibernate: select members0_.EMP_ID as EMP1_49_1_, members0_.EMP_Name as EMP2_49_1_, members0_.EMP_Passwd as EMP3_49_1_, record1_.EMP_Record as EMP5_3_, record1_.EMP_ID as EMP1_3_, record1_.EMP_ID as EMP1_50_0_, record1_.EMP_Bank_Account as EMP2_50_0_, record1_.EMP_Hobby as EMP3_50_0_, record1_.EMP_Record as EMP5_50_0_, record1_.EMP_Phone as EMP4_50_0_ from family members0_ left outer join info record1_ on members0_.EMP_ID=record1_.EMP_Record where members0_.EMP_ID=?

 

But records value is empty nor null.

 

I need your advice! Thanks in advance.

Reply to this message by going to Community

Start a new discussion in EJB3 at Community