Я новичок в спящем режиме.
У меня есть два класса UserDetails и address.The соотношение между этими двумя взаимно-Many.The детали следующим образом (Skiping геттер и сеттеры)
UserDetails.java
Добавление NULL в базу данных
@Entity
@Table(name = "UserDetails")
public class UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "userId")
private int userId;
@Column(name = "UserName")
private String userName;
@OneToMany
@JoinColumn(name = "address")
private Collection<Address> address = new ArrayList<Address>();
}
Address.java
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "city")
private String city;
}
App.java
UserDetails ud=new UserDetails();
ud.setUserName("User 1");
Address ad1=new Address();
ad1.setCity("Mumbai");
Address ad2=new Address();
ad1.setCity("Pune");
ud.getAddress().add(ad1);
ud.getAddress().add(ad2);
Session session=factory.openSession();
session.beginTransaction();
session.save(ud);
session.save(ad1);
session.save(ad2);
session.getTransaction().commit();
session.close();
Именем hibernate.cfg.xml собственности = "hbm2ddl.auto" установлено обновление после запуска выше кода записи в базе данных
UserDetails Таблица
userId UserName Address
1 User 1 NULL
Адрес Таблица
Id City Address
1 Pune 1
2 NULL 1
Мой вопрос: почему hibernate вставляет в UserDetails адрес = NULL и City = NULL в адресной таблице вместо создания новой таблицы.
Спасибо за ошибку, но она по-прежнему показывает NULL в таблице UserDetails для столбца Address. – Niks
@Niks. Ваша схема базы данных неправильно разработана для реализации отношения onetomany. Пожалуйста, проверьте обновление. – Siva
. Ваш правый ноль возникла проблема с дизайном базы данных. Спасибо за ответ... – Niks