I am using JPA 1.0 and have following tables, namely, Type, Guide and Address (names simplified for clarity and highlighted in bold) It is a scenario, where in relationships between 3 tables is built on compound keys. Non key fields for every table are below the solid line.
Relationships
Type One --------> Many Guide
Guide Many <---------- One Address
Type
Code PK
Date1 PK
Name
Guide
Code FK
Date1 FK
Addr Identifier FK
Date2 FK
Value
Address
Addr Identifier PK
Date2 PK
Postal Code
(Pardon the formatting issue above) I would like to start with Type table and unsing the compound key Code and Date1, get multiple rows (as a list) from Guide table. Then using Addr Identifier and Date2 from the row I want to get a single row in Address table. Please note these are reference tables and the data does not change, so there are no deletes or updates on any of these tables
I have tried this simple set of annotations that are returning empty list. (code is implified for clarity)
1)
@Entity
@Table(name = "Type")
public Class Type
@OneToMany(mappedBy = "type", fetch = FetchType.EAGER)
private List<Guide> listGuide;
getListGuide() {
return listGuide;
}
2)
@Entity
@Table(name = "Guide")
public Class Guide
@ManyToOne
@JoinColumns({@JoinColumn(name = "Code"),
@JoinColumn(name = "Date1") })
private Type type;
When I use getListGuide() I am getting an empty list.
Can you please suggest a solution?
I also need a mapping solution between Guide and Address entities.
Regards,