Когда я настойчив WorkAction
мне нужно хранить Id FK для WorkflowInstance
Повторные столбец отображения для объекта
WorkAction wa = new WorkAction();
wa.setWorkflowInstance(wfi);
waDao.persist(wa);
Однако в таблице WorkAction
колонка Ф.К., workflow_instance_id
завершаться быть пустым.
Оказывается, в Entity для WorkAction
я сопоставляются WorkflowInstance
используя , insertable = false, updatable = false
как этот
@ManyToOne
@JoinColumn(name = "workflow_instance_id", referencedColumnName = "workflow_instance_id", insertable = false, updatable = false)
private WorkflowInstance workflowInstance;
Когда я снял его, я получил Repeated column in mapping for entity: WorkAction column: workflow_instance_id
Но в WorkAction
лица я не видел workflow_instance_id
карту снова, т.е. у меня не было private Long workflow_instance_id;
Но потом я заметил в моем WorkAction
сущности, я сопоставляюсь WorkflowInstancePlayer
, используя формулу, которая ссылается workflow_instamce_id
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumnsOrFormulas({ @JoinColumnOrFormula(formula = @JoinFormula(value = "(SELECT a.role_class_id FROM WF_WORK_ACTION_CLASS a WHERE a.work_action_class_id = work_action_class_id)", referencedColumnName = "role_class_id")),
@JoinColumnOrFormula(column = @JoinColumn(name = "workflow_instance_id", referencedColumnName = "workflow_instance_id", insertable=false, updatable=false)) })
private WorkflowInstancePlayer player;
Даже после добавления insertable=false, updatable=false
к этому картографированию у меня все еще есть проблема. Когда я закомментируйте @JoinColumnsOrFormulas
я могу удалить insertable=false, updatable=false
на WorkflowInstance
и workflow_instance_id тогда не равно нулю, но тогда я потеряю WorkflowInstancePlayer
Как обойти это?
Есть ли конкретная причина не добавлять частный рабочий класс Workflow_instance_id к классу WorkAction и использовать его для сохранения? – Ghokun
Да, потому что это также приведет к повторному столбцу при сопоставлении ошибки сущности. – jeff
Это не так, если вы добавите insertable = false, updatable = false к вашим объединенным свойствам. – Ghokun