Почему отношения «OneToOne» позволяют хранить более одного данных в базе данныхJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему отношения «OneToOne» позволяют хранить более одного данных в базе данных

Сообщение Anonymous »

Я работаю над отношениями OneToOne с Spring MVC. В моем коде Person — это родительская таблица, а Address — дочерняя таблица. Я сохраняю данные в таблице Person, а затем в таблице Address. Я помещаю раскрывающийся список лиц на страницу адреса, раскрывающийся список лиц использует ссылку, сохраняя данные в дочерней таблице (Адрес). У меня нет проблем с сохранением данных в обеих таблицах, но проблема в том, что дочерняя таблица вставляет более одного данных с одним и тем же внешним ключом в таблицу Address, но я объявляю сопоставление отношений OneToOne, поэтому почему Hibernate не создает ошибка при сохранении нескольких данных в таблице адресов.
Вот мой код:
Entity >

Код: Выделить всё

public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long p_id;

private String name;
private String surname;

@OneToOne(cascade = CascadeType.ALL, mappedBy = "person")
private Address address;

// getter setter
}
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long a_id;

private String district;
private String city;

@OneToOne(cascade = CascadeType.ALL, targetEntity = Person.class)
@JoinColumn(name = "p_id")
private Person person;

// getter setter
}
Контроллер

Код: Выделить всё

// add person in database
@RequestMapping(value = "/addperson", method = RequestMethod.POST)
public String addPerson(Model mdl, @ModelAttribute("persons") Person person)
{
pojoService.addPerson(person);
return "redirect:/persons";
}

// add address in database
@RequestMapping(value = "/addaddress", method = RequestMethod.POST)
public String addAddress(Model mdl, @ModelAttribute("address") Address address)
{
pojoService.addAddress(address);
return "redirect:/address";
}
addperson(Thymeleaf)

Код: Выделить всё


Add Person



Person name


Person surname




[url=@{/}]Home[/url]




адрес (тема)

Код: Выделить всё


Add Address



Student Name






District


City




[url=@{/}]Home[/url]




Результат
Таблица человек:
Изображение

Таблица адресов:
Изображение

Здесь я покажу вам, как добавить человека и добавьте адрес. Внешний вид страницы:
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/709 ... n-database
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»