Двунаправленный JPA OneToMany и ManyToOne?

Я использую Oracle JDeveloper 11g Release 2.

Я создал две таблицы A и B с помощью SQL Developer.

Таблица A имеет FK таблицу B. Используя функцию Entities from Tables, я создал из нее два JPA-файла.

A имеет аннотацию @ManyToOne на FK.

А также B имеет аннотацию @OneToMany к A. Я не хочу этого.

Могу ли я автоматически удалить эту аннотацию @OneToMany?

public class A implements Serializable {
    ...
    @ManyToOne
    @JoinColumn(name = "FIELD_B")
    private B b;
    ...
}

public class B implements Serializable {
    ...
    @OneToMany(mappedBy = "b")
    private List<A> assetList;
    ...
}

Мне не нужно сопоставление @OneToMany.


person PhoenixJon    schedule 29.11.2011    source источник
comment
Можете ли вы показать нам код? Если вы хотите преобразовать двунаправленную связь в однонаправленную, вам, вероятно, придется изменить ее, кроме удаления одной из них?   -  person Gonzalo Garcia Lasurtegui    schedule 30.11.2011
comment
@GonzaloGarciaLasurtegui Я добавил код. Помогите мне, пожалуйста.   -  person PhoenixJon    schedule 30.11.2011


Ответы (1)


Вы можете удалить его. Тогда только As знает об их B, и B не знает никакого A. Если вы удалите сопоставление @OneToMany, вы также должны удалить указанное List<A> assetList.

person jk2    schedule 30.11.2011
comment
Я должен удалить его вручную? Может ли он автоматически создавать только однонаправленные отношения? - person PhoenixJon; 30.11.2011
comment
Да. Нет, я так не думаю, я думаю, что FK на столе всегда будет приводить к двунаправленным отношениям. - person jk2; 30.11.2011