如果地址表中存在studentId,如何使用一对一映射来延迟加载地址。
我尝试过映射,但是当我尝试只为了学生时,我最终得到了以下异常
org.hibernate.TypeMismatchException: Provided id of the wrong type for class com.abcCompany.AddressVO. Expected: class java.lang.Integer, got class java.lang.String
at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:134)
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1070)
at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:989)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:716)
at org.hibernate.type.EntityType.resolve(EntityType.java:502)
...
根据我可以说的例外,它试图用addressId而不是studentId映射地址。所以我在Student Entity bean中尝试了这个
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "student_id", referencedColumnName = "student_Id")
private AddressVO address;
PS:这是否也可以使用bidrectional mapping来从地址表的StudentId获取学生地址。