Many-to-many com atributos e @annotations

Pessoal, bom dia…

consegui com exito realizar relacionamentos many-to-many (muitas galerias se relacionam com muitas midias):

Galeria

id
descricao

GaleriaMidia

id_galeria
id_midia

Midia

id
caminho

porém agora preciso realizar relacionamentos many-to-many com atributos na tabela intermediaria, ou seja, adicionar um campo chamado legenda na tabela GaleriaMidia.

Criei a classe intermediaria e a classe que representa a PK, porém não sei como proceder com o relacionamento nas classes galeria e foto nesse caso, segue um exemplo de codigo:

@Entity
public class Galeria {
	
	@Id
	@GeneratedValue
	private Long id;

        // getters e setter

        // como mapear fotos aqui ?
}
@Entity
public class GaleriaMidia {
	
	@EmbeddedId
	private GaleriaMidiaPK galeriaMidiaPK;
	
	private String legenda;
        // getters e setters
}
@Embeddable
public class GaleriaMidiaPK implements Serializable {

	@ManyToOne(fetch = FetchType.EAGER)
	private Galeria galeria;
	
	@ManyToOne(fetch = FetchType.EAGER)
	private Midia midia;
        
        // getters e setters
}
@Entity
public class Midia {
	
	@Id
	@GeneratedValue
	private Long id;

        // getters e setters
}

gostaria entao de saber como mapear a classe galeria, e a classe midia nesse caso, tambem gostaria de saber se é possivel de realizar esse mapeamento de forma unidirecional, ou seja, midia nao conhecer a galeria a qual pertence.

valeu galera