[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[eclipselink-users] Entity relationship issue
|
I am having an issue with creating a relationship between 2 entities, where
the parent entity was created from a Stored Procedure. When I try to use the
@OneToMany annotation it tries to join the two entities.
@Entity
public class CpUser extends BaseDomain {
// Attributes
@Id
@Column(name = "paramUserID")
private String userId;
@Column(name = "paramInitials")
private String initials;
@Column(name = "paramFirstName")
private String firstName;
@Column(name = "paramLastName")
private String lastName;
.....
/*
* List of user messages
*/
private Set<CpMsg> messages = new HashSet<CpMsg>(0);
.....
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy =
"userId")
public Set<CpMsg> getMessages() {
return messages;
}
} // End CpUser
@Entity
@Table(name = "CP_MSG")
public class CpMsg extends BaseDomain {
// Fields
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "MSG_ID", unique = true, nullable = false, precision = 11,
scale = 0)
private Long msgId;
@Column(name = "MSG_TEXT", nullable = false)
private String msgText;
private CpUser cpUser;
....
public CpUser getCpUser() {
return this.cpUser;
}
} //End CpMsg
I removed some fields for brevity.
When I try and get the messages for that user by calling getMessages() I get
this in the logs -
Call: SELECT t1.MSG_ID, t1.MSG_TEXT, t1.USER_ID FROM CPUSER_CP_MSG t0,
CP_MSG t1 WHERE ((t0.CpUser_paramUserID = ?) AND (t1.MSG_ID =
t0.messages_MSG_ID))
bind => [USER123]
And the error is that CPUSER_CP_MSG doesnt exist, which is correct.
I guess I assumed it would just do a select on the child table passing in
the value from the parent.
Thanks in advance
--
View this message in context: http://www.nabble.com/Entity-relationship-issue-tp20803337p20803337.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.