-3
Я пытаюсь использовать приложение в Hibernate для реализации объединения hibernate one-to-one посредством аннотаций. Я использую два класса POJO и связываю их друг с другом, но при выполнении я сталкиваюсь с этой проблемой.Hibernate сопоставление один к одному по аннотациям
Код: У меня 2 класса Студент, Адрес. Мне нужно двунаправленное отображение 1-1 между обоими.
@Entity
@Table(name = "STUDENT")
public class Student {
@Id
@GeneratedValue
@Column(name = "STUDENT_ID")
private long id;
@Column(name = "FIRST_NAME")
private String firstName;
@OneToOne(mappedBy="student", cascade = CascadeType.ALL)
private Address address;
----getters and setters---
}
@Entity
@Table(name = "ADDRESS")
public class Address {
@Id
@Column(name="ADDRESS_ID")
@GeneratedValue(generator="gen")
@GenericGenerator(name="gen", strategy="foreign",[email protected](name="property", value="student"))
private long id;
@Column(name = "STREET")
private String street;
@Column(name = "CITY")
private String city;
@Column(name = "COUNTRY")
private String country;
@OneToOne
@PrimaryKeyJoinColumn
private Student student;
----getters and setters---
}
Ниже мой пример основной класс
public class MainClass1 {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Student student = new Student("Sam","Disilva","Maths");
Address address = new Address("10 Silver street","NYC","USA");
student.setAddress(address);
session.save(address);
session.save(student);
session.getTransaction().commit();
HibernateUtil.shutdown();
}
}
Исключение трассировки:
Initial SessionFactory creation failed.java.lang.NullPointerException
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.learn.main.HibernateUtil.buildSessionFactory(HibernateUtil.java:15)
at com.learn.main.HibernateUtil.<clinit>(HibernateUtil.java:8)
at com.learn.main.MainClass1.main(MainClass1.java:17)
Caused by: java.lang.NullPointerException
at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:135)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1127)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:296)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1283)
at com.learn.main.HibernateUtil.buildSessionFactory(HibernateUtil.java:12)
... 2 more
Пожалуйста, введите код. –
И добавить заявление о проблеме тоже ... – meskobalazs
Добавлен код на мой вопрос выше – Ajay