Я получаю проблему с Hibernate @EmbeddedId. Код моего @EmbeddedId:
@Embeddable
public class EnrolRegEmbededId implements Serializable
{
@Column(name="ENROL_NO")
private String enrolNo;
@Column(name="REG_NO")
private String regNo;
}
Мой класс сущности:
@Entity
@Table(name = "PTAX_ENROL_REG_PRINCIPAL_INFO")
public class Enrol_reg_principal_info implements Serializable {
@EmbeddedId
private EnrolRegEmbededId enrolReg;
@Column(name = "APPLN_TYPE")
private String type;
@Column(name = "FIRST_NM")
private String f_name;
@Column(name = "MIDDLE_NM")
private String m_name;
@Column(name = "LAST_NM")
}
Проблема в том, что я получаю данные из класса 'Enrol_reg_principal_info', когда оба значения enrolNo и regNo имеют значение. Но получите NUllPointerException, когда enrolNo или regNo имеют значение.
hql это:
String hql = "из Enrol_reg_principal_info prin, где prin.enrolReg.regNo =: id";
для получения значения для regNo.
String hql = "из Enrol_reg_principal_info prin, где prin.enrolReg.enrolNo =: ec";
для получения значения для enrolNO.
И метод такой:
public EnrolRegPrinModel masterDetailsEC(String EC) throws Exception {
EnrolRegPrinModel ecDetails = new EnrolRegPrinModel();
Enrol_reg_principal_info info = new Enrol_reg_principal_info();
Session s = null;
try {
s = sessionFactory.openSession();
String hql = " from Enrol_reg_principal_info prin where
prin.enrolReg.enrolNo=:ec";
Query q = s.createQuery(hql);
q.setString("ec", EC);
info = (Enrol_reg_principal_info) q.uniqueResult();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
s.close();
}
return ecDetails;
}
Пожалуйста, помогите. Заранее спасибо