2015-09-01 1 views
0

Я использую данные весны jpa, и я стараюсь сделать много для многих однонаправленных отношений.JPA Многие для многих однонаправленных

@Entity 
public class Appartment { 
    ... 
    @ManyToMany 
    private List<AppartmentFeatureOption> featureOption; 
} 

@Entity 
public class AppartmentFeatureOption { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long appartmentFeatureOptionId; 

    private String name; 

    private BigDecimal value; 
} 

Моя база данных создаются во время выполнения, но я получаю эту ошибку

org.hibernate.DuplicateMappingException: То же самое физическое имя таблицы [appartment_feature_option] ссылается на несколько имен логической таблицы: [AppartmentFeatureOption], [Appartment_AppartmentFeatureOption]

Любая идея?

Редактировать с этим кодом, которые работают

@ManyToMany 
@JoinTable(name="appartment_feautre_option_appartment", [email protected](name="appartment_id"), [email protected](name="appartment_feautre_option_id")) 
private List<AppartmentFeatureOption> featureOption; 

ответ

-1

Является ли это на самом деле ваш реальный код, может быть, проблема в том, что вы используете ManyToMany отношения между Апартаменты и AppartmentFeatureOption тогда нет ссылка на Квартира в AppartmentFeatureOption.

В моем понимании для одного Квартиры вы хотите иметь несколько AppartmentFeatureOption, который является отношениями OneToMany.

+0

Один для многих не будет работать, тот же вариант можно использовать в разных квартирах. –

+0

Да, но ... Один для многих означает, что для одной квартиры у вас может быть несколько вариантов – afraisse

+0

, и значение параметра будет дублировано ... не хорошо. –