I\'m using hibernate 4+.
I have two sample tables.
Table A
public class A {
@Id
private int id;
@OneToMany(fetch=LAZY)
private List&
Yes, because proxies contain the id anyway. To get the id of an A
proxy without initializing it, first declare the id to be accessed via property:
@Entity
public class A {
@Id
@Access(AccessType.PROPERTY)
private int id;
@OneToMany(fetch=LAZY)
private List list;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Then, just read the id:
b.getA().getId();
Changing access type for the id is necessary because if you use field access, Hibernate does not distinguish getId()
method from other ordinary methods (which trigger proxy initialization when invoked).