Desculpe, esqueci de colocar como resolvido, eu consegui da seguinte forma:
public List<Ponto> buscaPontosHoras() {
Session session;
if (em.getDelegate() instanceof EntityManagerImpl) {
EntityManagerImpl entityManagerImpl = (EntityManagerImpl) em.getDelegate();
session = entityManagerImpl.getSession();
} else {
session = (Session) em.getDelegate();
}
Calendar bomDiaInicio = Calendar.getInstance();
Calendar bomDiaFim = Calendar.getInstance();
Calendar prtv1Inicio = Calendar.getInstance();
Calendar prtv1Fim = Calendar.getInstance();
Calendar prtv2Inicio = Calendar.getInstance();
Calendar prtv2Fim = Calendar.getInstance();
SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy HH:mm");
//inicio de cada jornais\\
// Bom dia Paraná 1 \\
bomDiaInicio.set(Calendar.HOUR_OF_DAY, 1);
bomDiaInicio.set(Calendar.MINUTE, 0);
bomDiaInicio.set(Calendar.SECOND, 0);
// PRTV 1 \\
prtv1Inicio.set(Calendar.HOUR_OF_DAY, 8);
prtv1Inicio.set(Calendar.MINUTE, 1);
prtv1Inicio.set(Calendar.SECOND, 0);
//PRTV 2 \\
prtv2Inicio.set(Calendar.HOUR_OF_DAY, 14);
prtv2Inicio.set(Calendar.MINUTE, 1);
prtv2Inicio.set(Calendar.SECOND, 0);
// finais de cada jornais\\
// Bom dia Paraná \\
bomDiaFim.set(Calendar.HOUR_OF_DAY, 8);
bomDiaFim.set(Calendar.MINUTE, 0);
bomDiaFim.set(Calendar.SECOND, 0);
// PRTV 1 \\
prtv1Fim.set(Calendar.HOUR_OF_DAY, 14);
prtv1Fim.set(Calendar.MINUTE, 0);
prtv1Fim.set(Calendar.SECOND, 0);
// PRTV 2 \\
prtv2Fim.set(Calendar.HOUR_OF_DAY, 20);
prtv2Fim.set(Calendar.MINUTE, 0);
prtv2Fim.set(Calendar.SECOND, 0);
// string de conversões de calendario para String, o P no final significa parametro \\
// Bom dia Paraná
String bomDiaInicioP = sdf1.format(bomDiaInicio.getTime());
String bomDiaFimP = sdf1.format(bomDiaFim.getTime());
// PRTV 1 \\
String prtv1InicioP = sdf1.format(prtv1Inicio.getTime());
String prtv1FimP = sdf1.format(prtv1Fim.getTime());
// PRTV 2 \\
String prtv2InicioP = sdf1.format(prtv2Inicio.getTime());
String prtv2FimP = sdf1.format(prtv2Fim.getTime());
String sql = "SELECT PONTO.ID AS id, PONTO.COR AS cor,PONTO.ENDERECO AS endereco ,PONTO.FREQUENCIA AS frequencia ,PONTO.LATITUDE AS latitude, \n"
+ " PONTO.LONGITUDE AS longitude ,PONTO.PONTO AS ponto ,PONTO.ID_CIDADE AS cidade,PONTO.GRAU AS grau, \n"
+ " PONTO.ID_COMPLEMENTO AS complemento,PONTO.BAIRRO AS bairro,PONTO.SITE AS site \n"
+ "FROM OCORRENCIA \n"
+ "JOIN OCORRENCIALINK ON OCORRENCIA.ID_OCORRENCIALINK = OCORRENCIALINK.ID_OCORRENCIALINK \n"
+ "JOIN PONTO ON OCORRENCIALINK.ID_PONTOLINK = PONTO.ID \n"
+ "WHERE TO_CHAR(OCORRENCIA.DATASOLICITACAO,'dd/mm/yyyy hh24:mi') BETWEEN :bomDiaInicioP AND :bomDiaFimP \n"
+ "OR TO_CHAR(OCORRENCIA.DATASOLICITACAO,'dd/mm/yyyy hh24:mi') BETWEEN :prtv1InicioP AND :prtv1FimP \n"
+ "OR TO_CHAR(OCORRENCIA.DATASOLICITACAO,'dd/mm/yyyy hh24:mi') BETWEEN :prtv2InicioP AND :prtv2FimP \n "
+ "AND OCORRENCIA.STATUSOCORRENCIA = 1 \n"
+ "OR OCORRENCIA.STATUSOCORRENCIA = 2";
SQLQuery query = session.createSQLQuery(sql);
//PARAMETROS\\
query.setParameter("bomDiaInicioP", bomDiaInicioP);
query.setParameter("bomDiaFimP", bomDiaFimP);
query.setParameter("prtv1InicioP", prtv1InicioP);
query.setParameter("prtv1FimP", prtv1FimP);
query.setParameter("prtv2InicioP", prtv2InicioP);
query.setParameter("prtv2FimP", prtv2FimP);
//SETANDO\\
query.addScalar("id", Hibernate.LONG);
query.addScalar("cor", Hibernate.STRING);
query.addScalar("endereco", Hibernate.STRING);
query.addScalar("frequencia", Hibernate.STRING);
query.addScalar("latitude", Hibernate.STRING);
query.addScalar("longitude", Hibernate.STRING);
query.addScalar("ponto", Hibernate.STRING);
// query.addScalar("cidade", Hibernate.OBJECT);
query.addScalar("grau", Hibernate.STRING);
// query.addScalar("complemento", Hibernate.OBJECT);
query.addScalar("bairro", Hibernate.STRING);
query.addScalar("site", Hibernate.BOOLEAN);
// query.addScalar("STATUS", Hibernate.INTEGER);
// query.addScalar("EMTESTE", Hibernate.INTEGER);
// query.addScalar("ELEVACAO ", Hibernate.STRING);
// query.addScalar("VISADA", Hibernate.INTEGER);
// query.addScalar("PONTOSITE_ID", Hibernate.INTEGER);
//TRANSFORMANDO\\
query.setResultTransformer(Transformers.aliasToBean(Ponto.class));
List<Ponto> resultado = query.list();
System.out.println("RESULTADOS: " + resultado.size());
return resultado;
}
usei o calendar para setar as horas fixas do dia, depois fiz um SQL e funcionou, deu trabalho mais ta ai.
Obrigado por ajudar!