Problema - Relacionamento OneToMany Unidirecional JPA

Pessoal, estou com um problema na minha aplicação para criar um novo relacionamento OneToMany, tenho uma classe “ContasPagar” que está com dois relacionamentos bidirecionais com a classe “Cliente” e “Fornecedor”. Criei uma nova classe “Usuário”, não seria tanto para aplicação, mas sim em fazer alguns testes, porém não consigo fazer o relacionamento da classe Usuário com a ContasPagar, a minha dúvida seria se há restrições de fazer um novo relacionamento já que a classe ContasPagar já tem dois bidirecionais com outras classes? E como resolver esse problema?

Cliente:
@OneToMany(mappedBy=“fk_cliente”, fetch= FetchType.LAZY, cascade= CascadeType.ALL)
public List contasPagar;

ContasPagar:
@ManyToOne(optional=false)
@JoinColumn(name=“fk_cliente”)
private Cliente fk_cliente;

@ManyToOne(optional=false)
@JoinColumn(name=“fornecedor_id”)
private Fornecedor fornecedor_fk;

Fornecedor:
@OneToMany(mappedBy=“fornecedor_fk”, fetch= FetchType.LAZY, cascade= CascadeType.ALL)
public List contasPagar;

Usuario:
@OneToMany
@JoinColumn(name=“fk_idconta”)
private List idconta;

Não está criando o relacionamento OneToMany Unidirecional de Usuario com ContasPagar. Já configurei o persistence para criar uma nova tabela(Usuario), ele exibi no meu banco os outros atributos que criei mas não mostra a chave estrangeira da classe Usuario. Alguma solução?
Valeu.

Para que você possa usar o @OneToMany a classe que você está referenciando, no caso a ContaPagar, precisa conter @ManyToOne, pois o ContaPagar que haverá a chave para relacionar o usuário.

1 curtida

Vi alguns exemplos que poderia fazer OneToMany Unidirecional com Join Column, mesmo sendo bidirecional ainda não está sendo criado a chave estrangeira na classe Usuário.

Usuario:

@OneToMany(mappedBy=“user”,fetch= FetchType.LAZY,cascade= CascadeType.ALL)
@JoinColumn(name=“fk_idconta”)
private List contas_id;

ContasPagar:

@ManyToOne
private Usuario user;

tenta inverter a chave

Usuario:

@OneToMany(mappedBy=“user”,fetch= FetchType.LAZY,cascade= CascadeType.ALL)
private List contas_id;

ContasPagar:

@ManyToOne
@JoinColumn(name=“user_fk”)
private Usuario user;

Queria fazer a chave estrangeira na classe Usuario sem usar o @JoinTable. Alguma solução?