У меня есть три объекта, как показано ниже:Hibernate OneToOne Mapping Выпуск
- собственности
- Property_Document
- Property_User
Property
и Property_Document
есть один ко многим отношений.
Property
и Property_User
имеет отношения Один к одному.
На уровне базы данных Property_User имеет внешний ключ «property_id», обратно в таблицу свойств.
Я использую аннотации для определения отображений и связей между сущностями.
Property.java
public class Property {
//.....
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="property_id")
private List<PropertyDocuments> docs;
@OneToOne(cascade=CascadeType.ALL)
private PropertyUser owner;
//....
}
PropertyUser.java
public class PropertyUser {
@Id
private int id;
@column
private String name;
//......
}
Когда выбирающий свойство, список документов получает успешно, но когда он пытается извлечь информацию о пользователе она показывает ниже сообщение об ошибке.
column: owner_id doesn't exist.
Просьба помочь. Благодарю.
я уже назначить внешний ключ в таблице Property_User. Если я укажу этот ключ здесь, он не сработает. –
* Как * не работает. Когда что-то «не работает», у вас есть исключение с сообщением и трассировкой стека, которая помогает диагностировать проблему. Или, по крайней мере, что-то происходит, что отличается от того, что вы ожидаете. «Это не работает» недостаточно для диагностики проблемы. –
Я имею в виду, что когда я указываю, что @JoinColumn ("property_id"), запрос выбора для свойства генерирует исключение, которое property.property_id не существует. Поскольку в таблице свойств нет этого столбца. –