Ответ 1
Вот что пишет спецификация JPA 1.0 об аннотации JoinColumn
:
9.1.6 JoinColumn Annotation
...
Элемент аннотации
name
определяет имя столбца внешнего ключа. Остальные элементы аннотации (кромеreferencedColumnName
) обратитесь к этому столбцу и семантика, как для столбца аннотаций.Если есть один столбец соединения и если элемент аннотации
name
равен отсутствует, имя столбца объединения образуется как конкатенация следующее: название ссылки свойства отношения или поля ссылочная организация; "_"; имя ссылочный столбец первичного ключа. Если таких ссылок нет свойства отношения или поля в (т.е. используется таблица соединений), имя столбца объединения формируется как конкатенация следующего: имя объекта; "_"; имя ссылочный столбец первичного ключа....
Итак, в вашем примере по умолчанию для столбца внешнего ключа будет order_id
.
Ссылки
- Спецификация JPA 1.0
- Раздел 9.1.6 "Аннотации JoinColumn"