У меня есть ошибка моих сущностей, мои таблицы:JPA автообъединение ошибку
ЯЗЫК
codLanguage (Primary Key)
nameLanguage
Устройство
idDevice(Primary Key)
nameDevice
ФРАЗА
idPhraseGroup(Primary Key)
codlanguage(Primary Key)
idDevice (Primary Key)
tex
У меня проблема с моей сущности Фраза, это:
public class Phrase implements Serializable {
@EmbeddedId
private PhraseKey idPhrase;
private String text;
//etc
//here my problem (*)
@OneToMany(mappedBy="idPhrase.idPhraseGroup",fetch=FetchType.EAGER)
@JoinColumn(name = "idPhrase.idPhraseGroup", updatable = false, insertable = false, referencedColumnName = "idPhrase.idPhraseGroup")
private List<Phrase> groupListPhrase;
}
@Embeddable
public class PhraseKey implements Serializable {
private Integer idPhraseGroup;
private String codLanguage;
private String idDevice;
---getter e setter
}
Я вам хотелось бы получить список фраз с тем же idPhraseGroup , например, в разговорник таблице:
idPhraseGroup | codLang |idDevice | text
1 | ES | 1 | mesa
1 | EN | 1 | table
..но я получил эту ошибку:
Exception Description: An incompatible mapping has been encountered This usually occurs when the cardinality of a mapping does not correspond with the cardinality of its backpointer
Thanxs
Я пробовал это: MapsId ("idPhraseGroup") @ OneToMany private List groupListPhrase; но он не работает, он создает SELECT * FROM PHRASE_PHRASE –
Jacky
@MapsId ("idPhraseGroup") @OneToMany @JoinTable (имя = "ФРАЗА") частный список groupListPhrase; но у меня есть только одна фраза –
Jacky
Я бы хотел: SELECT * FROM PHRASE t0, PHRASE t1 WHERE (t0.idPhraseGroup = 1) И t1.idPhraseGroup = t0.idPhraseGroup AND (t1.codLanguage = t0.codLanguage) AND (t1.idDevice = t0.idDevice) – Jacky