Na aula da solução proposta do desafio na classe Funcionário, o instrutor coloca as seguintes anotações no atributo:
@Fetch(FetchMode.SELECT) @ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "funcionarios_unidades", joinColumns = {
@JoinColumn(name = "fk_funcionario")}, inverseJoinColumns = {
@JoinColumn(name = "fk_unidades")})
private List<UnidadeTrabalho> unidades;
Uma parte que eu não gostei do curso foi essa, pois o instrutor ele acabou jogando na tela várias novos recursos que nunca foram abordados a fundo ou se quer utilizados nos cursos de JPA e Hibernate da Alura. Tirando a anotação @ManyToMany, eu não conheço nenhuma outra que está acima. O que essas outras anotações, principalmente @Fetch, querem dizer? Não estou conseguindo achar um bom artigo ou um Doc que tenha uma explicação didática e clara para o mundo da JPA com o Hibernate.