Como tirar diferença entre duas horas sendo elas do tipo Time?

Eu queria poder calcular a diferença entre duas horas do tipo time. Exemplo tenho um funcionário que trabalhou de 12:00 as 16:00 eu queria calcular a diferença delas que no caso seria 4.

int diferenca = cartao.getHora_entrada().getHours() - cartao.getHora_saida().getHours();

Nesse código hora_entrada e saída são do tipo TIME java.sql.Time , porém não estar dando certo… Pois quando tento pegar o valor correspondente da hora ( que seria um inteiro ), ele retorna nada…
Me ajudem :\

Prefira trabalhar com a classe Calendar.
Você pode instanciar um objeto de Calendar usando o objeto de Time e, então, realizar a operação desejada.

Ou JodaTime.