2012-12-18 9 views
4

Почему hibernate использует таблицу соединений для этих классов?Почему hibernate создает таблицу соединений для однонаправленного OneToMany?

@Entity 
public class CompanyImpl { 
    @OneToMany 
    private Set<Flight> flights; 


@Entity 
public class Flight { 

Я не хочу ни присоединиться таблицу или двунаправленную связь :(

ответ

8

Потому что, как он предназначен, и то, что спецификации JPA говорит, что для отображения такой ассоциации. Если вы хотите присоединиться столбец в таблице Flight, используйте

@Entity 
public class CompanyImpl { 
    @OneToMany 
    @JoinColumn(name = "company_id") 
    private Set<Flight> flights; 
} 

Это is documented

+0

«Потому что это, как он предназначен» для меня не кажется, причина вовсе, но факт.: P –

+1

. Причина в том, что, поскольку это однонаправленная связь, многие стороны не знают об ассоциации, поэтому ее таблица не должна иметь столбец для сопоставления этой ассоциации. –

+0

Это на самом деле причина :) Спасибо. +1 –

 Смежные вопросы

  • Нет связанных вопросов^_^