@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Foo
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class BarFoo extends Foo
mysql> desc foo;
+---------------+-------------+
| Field | Type |
+---------------+-------------+
| id | int |
+---------------+-------------+
mysql> desc barfoo;
+---------------+-------------+
| Field | Type |
+---------------+-------------+
| id | int |
| foo_id | int |
| bar_id | int |
+---------------+-------------+
mysql> desc bar;
+---------------+-------------+
| Field | Type |
+---------------+-------------+
| id | int |
+---------------+-------------+
Можно ли указать столбец barfo.foo_id в качестве объединенного столбца?
Вам разрешено указывать barfoo.id как @Id BarFoo, так как вы переопределяете метод получения / просмотра класса Foo?
Я понимаю схемы, лежащие в основе этих отношений (или, по крайней мере, мне так кажется), и я в порядке с ними.
Причина, по которой мне нужно явное поле идентификатора для BarFoo, заключается именно в том, что я хочу избежать использования объединенного ключа (foo _id, bar _id) при запросе BarFoo (s) или при использовании в «более сильном» ограничении. (как сказал Рубен)