Existe uma anotação no hibernate chamada @JoinColumn, gostaria de saber qual a diferença dessa anotação para o parâmetro mappedBy..
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Existe uma anotação no hibernate chamada @JoinColumn, gostaria de saber qual a diferença dessa anotação para o parâmetro mappedBy..
Olá Alexandre,
a anotação @JoinColumn indica que a classe na qual você está utilizando-a é a dona ou o lado forte do relacionamento. Isso apenas adciona uma coluna estrangeira ao lado forte.
Já o parametro mappedBy que fica dentro do @OneToMany é usado no lado fraco do relacionamento.
O mappedBy faz com que o relacionamento fique bidirecional.
Abraços.
Obrigado Victor. Na aula, o instrutor diz que com o mappedBy se tem acesso ao dono do relacionamento no objeto que é possuído. Como eu teria o acesso a conta(owner) a partir da classe me movimentação?
Vamos lá:
temos uma relação @ManyToOne de movimentações para conta.
O lado das movimentações é o lado forte do relacionamento, então é automáticamente criada uma coluna na tabela Movimentação chamada conta_id.
Esse é o nome padrão no qual ela vem, mas você pode usar a anotação JoinColumn para especificar um nome ou conteúdo diferente para essa coluna. Note que isso não é recomendado.