Как обработать изменение атрибута String на сопоставленный объект с помощью JPA в рабочем приложении - PullRequest
0 голосов
/ 27 мая 2020

Есть ли способ показать FK в Entity, когда сопоставленный объект равен Null?


У меня есть работающее приложение JSF с объектом, у которого была строка (widget_id), которую мы хотели отслеживать .

Теперь мы хотим отслеживать другие атрибуты, связанные с widget_id, поэтому я изменил свой Entity с

private String widget_id;

на

@Entity
public class Sprocket
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="widget_id", referencedColumnName = "widget_id")
private Widget widget;

Конечно, уже было много Звездочки сохраняются с FK widget_id, которые не указаны в таблице виджетов, поэтому, когда я просматриваю эти звездочки, я больше не вижу String или FK, потому что отображение равно нулю.

Как с этим поступать? Очевидно, одно из исправлений - запустить запрос на вставку и снова поместить widget_id в таблицу Widget. Есть ли другие уловки для этого сценария? Я попробовал несколько вещей на сопоставлении и запросах, чтобы показать FK, когда сопоставление было нулевым, но безуспешно.

При использовании каскада любые вновь сохраненные звездочки будут обрабатывать сохранение нового виджета. Так что продвижение вперед не должно быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...