# @JoinColumn(name="status", referencedColumnName="code")
-----
please read the jpa spec to understand how to use @JoinColumn: you can only use
one of this attributes not both, because if you use both, name="status" is used
as referenced key
# Lazy fetching has no problem, because I also use it:
@javax.persistence.Entity
| public class Customer implements java.io.Serializable{
| /** The serialVersionUID */
| private static final long serialVersionUID = 1L;
| private long id;
| private String lastName;
| private String firstName;
| private Address address;
|
| #1 can be used
| @javax.persistence.OneToOne(cascade={CascadeType.ALL},
fetch=FetchType.LAZY)
| @javax.persistence.JoinColumn(name="ADDRESSID")
|
| #2 can also be used
| @javax.persistence.OneToOne(cascade={CascadeType.ALL},
fetch=FetchType.LAZY)
| @javax.persistence.JoinColumn(referencedColumnName="ZIP")
| public Address getAddress() {return this.address;}
| public void setAddress(Address address){this.address = address;}
|
| }
|
|
and in my client class LEFT JOIN FETCH syntax to fetch customer with lazy
address object
public List<Customer> getCustomersLazyUsing(long cId) {
| String query = "select c from Customer c " +
| "left join fetch c.address" +
| " where c.id = :cId ";
and all work perfect
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3985657#3985657
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3985657
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user