0
私はJSFでプロジェクトを開発していますが、このエンティティを下に維持しようとしていますが、エラーメッセージが表示されます。私が関係を作成する前に、Contaクラスは正しく存続していましたが、Transacaoを持つMany To Oneでは、私はできません。エンベディッドIDを持つエンティティを多対1の関係に維持するとエラーメッセージが表示される
これはTransacaoクラスです:
@Id
@GeneratedValue
private long id;
private Conta contaOrigem;
private String agenciaDestino;
private String contaDestino;
private String cpfDestino;
...
これはコンタクラスです:
public class Conta {
@EmbeddedId
private DadosConta contaUsuario = new DadosConta();
@NotEmpty(message="Senha não pode estar em branco")
private String senha;
@NotEmpty(message="Selecione uma opção")
private String tipoConta;
private double saldo;
private Usuario usuario = new Usuario();
@OneToMany(mappedBy="contaOrigem", fetch = FetchType.LAZY)
private List<Transacao> transacoes = new ArrayList<>();
...
とDadosConta(組み込みIDクラス):
@Embeddable
public class DadosConta implements Serializable {
private static final long serialVersionUID = -7021727065659352073L;
@NotEmpty
private String agencia;
@NotEmpty
private String conta;
...
そして最後に、このエラー:
Foreign key (FK_8k5jlptboiq6xm4oopg9jnh2l:Transacao [contaOrigem])) must have same number of columns as the referenced primary key (conta [agencia,conta])
私はエラーメッセージが「明示的」であることを知っていますが、EmbeddedIdと多対1の関係をどのように維持できるのか分かりませんが、回避策はありますか?
ありがとうございます。
ありがとうございました! –