Mapemento objeto - relacional

estou com uma dúvida meio básica, mas não consegui encontrar nada na literatura falando desse caso específico:

quero transformar um relacionamento um para muitos entre uma classe departamento e funcionario.


Classe Departamento
-descricao
-tipo


Classe funcionario
-nome
-funcao

primeiro relacionamento entre as classes:

[Departamento] 
1  
+depto (atributo contido na classe funcionario)
   |
   |       
+pessoasAutorizam  ( array contido na classe departamento)
1..* 
[Funcionario]


segundo relacionamento: 


[Departamento]
1
 |
 |
0..* +pessoasCompram (array na classe departamento)
[Funcionario]

esses dois relacionamentos estão no mesmo diagrama.

as classes java ficaram assim (tb não sei se é o correto)


public class Funcionario extends Login{
	
	private Integer idFuncionario;
	private String nome;
	private String funcao;
	private Departamento depto;	
}


public class Departamento {
	private String descricao;
	private String tipo;
	
	private ArrayList<Funcionario> pessoasAutorizam;
	private ArrayList<Funcionario> pessoasCompram;
	private ArrayList <Solicitacao> listaSolic;
}

Então, gostaria de saber como ficaria as tabelas no banco para esse relacionamento…