JPA java.lang.ArrayIndexOutOfBoundsException: 0

Olá boa noite, estou implementando uma consulta em hibernate, quando executo a aplicação ao clickar no menu ele deveria chamar o metodo listarTodos e listar dentro de um panel e mostrar outros recursos, porem ao clickar no menu ele entrega:
Exception occurred while processing veiculomanutencao:#{veiculoBean.iniciarBean} java.lang.ArrayIndexOutOfBoundsException: 0

O glass fish aponta o erro na linha 28 da classe VeiculoBean:

28: veiculos = new GenericDAO(Veiculo.class).listarTodos();

No metodo iniciarBean() ao chamar ele peço para que ele adicione a veiculos um novo GenericDAO de veiculos trazendo a classe de veiculos e chamando o metodo listar.Todos da classe GenericDAO

O glassfish aponta o erro na minha 55 onde crio o metodo List listarTodos() na classe GenericDAO:

No metodo listarTodos() chamo a classe JPAUtil para interagir com o contenxto: EntityManager em = JPAUtil.getEntityManager();

coloco a consulta dentro da lista resultados
55: List resultados = em.createQuery(“SELECT v FROM " + classe.getName()+ " v”, classe).getResultList();

VeiculoBean.java:

package com.fvc.bean;

import com.fvc.dao.GenericDAO;
import com.fvc.dao.VeiculoDAO;
import com.fvc.model.Veiculo;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

@ManagedBean
@SessionScoped
public class VeiculoBean implements Serializable
{
    
    private static final long serialVersionUID = -1900445102117491204L;
    
    private Veiculo veiculo;
    private List<Veiculo> veiculos;
    
    private Veiculo veiculoExclusao;    
    
    public void iniciarBean()
    {
        
        veiculos = new GenericDAO<Veiculo>(Veiculo.class).listarTodos();
        
    }        
    
    public void novoVeiculo()
    {
        
        veiculo = new Veiculo();
        
    }  
    
    public void salvar() throws InterruptedException
    {
        //sleep de 3 segundos na operação
        Thread.sleep(3000);
        new GenericDAO<Veiculo>(Veiculo.class).salvar(veiculo);
        veiculos = new GenericDAO<Veiculo>(Veiculo.class).listarTodos();
        veiculos = null;
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Veiculo inserido com sucesso"));
    }        
    
    public void editar(Veiculo veiculo)
    {
        
        this.veiculo = veiculo;
        
    }        
    
    public void prepararExclusao(Veiculo veiculo)
    {
        
        this.veiculoExclusao = veiculo;
        
    }
    
    public void excluir()
    {
        
        new VeiculoDAO().excluir(veiculoExclusao);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Veiculo excluído com sucesso!"));
        veiculos = new VeiculoDAO().listarTodos();
        
    }        
    
    public void voltar()
    {
        
        veiculo=null;
        
    }
    
    
    public Veiculo getVeiculo() {
        return veiculo;
    }

    public void setVeiculo(Veiculo veiculo) {
        this.veiculo = veiculo;
    }

    public List<Veiculo> getVeiculos() {
        return veiculos;
    }

    public void setVeiculos(List<Veiculo> veiculos) {
        this.veiculos = veiculos;
    }
    
    public Veiculo getVeiculoExclusao() {
        return veiculoExclusao;
    }

    public void setClienteExclusao(Veiculo veiculoExclusao) {
        this.veiculoExclusao = veiculoExclusao;
    }
        
    
}

GenericDAO:

package com.fvc.dao;

import java.util.List;
import javax.persistence.EntityManager;


public class GenericDAO<T> 
{
    
    private final Class<T> classe;
    
    public GenericDAO(Class<T> classe)
    {
        
        this.classe = classe;
        
    }        
    
    
    public void salvar(T t)
    {
        
        EntityManager em = JPAUtil.getEntityManager();
        
        em.getTransaction().begin();
        
        em.merge(t);
        
        em.getTransaction().commit();
        
        em.close();
        
    }
    
    public void excluir(T t)
    {
        
        EntityManager em = JPAUtil.getEntityManager();
        
        em.getTransaction().begin();
        
        em.remove(t);
        
        em.getTransaction().commit();
        
        em.close();
        
    }
    
    public List<T> listarTodos()
    {
        
        EntityManager em = JPAUtil.getEntityManager();
        
        List<T> resultados = em.createQuery("SELECT v FROM " + classe.getName()+ " v", classe).getResultList();   
        
        em.close();
        
        return resultados;
    }
    
    public T obterporPlaca(String placa)
    {
        
        EntityManager em = JPAUtil.getEntityManager();
        
        T t = em.createQuery("from " + classe.getName() + " where placa = :id", classe).setParameter("placa", placa).getSingleResult();
        
        em.close();
        
        return t;
        
    }        
    
    
}

Tabela Veiculo: