[Resolvido] Erro com Hibernate

Pessoal estou com um problema no hibernate e nao consigo solucionar.

Reconstrui a aplicação e funcionou porem de uma hora para outra parou.

Estou usando o Glassfish 3.2 + JSF 2.0 + EJB + CDI + JPA

Segue Trace:

SEVERE: Exception while loading the app
WARNING: Exception while dispatching an event
java.lang.NullPointerException
	at org.hibernate.internal.CoreMessageLogger_$logger.closing(CoreMessageLogger_$logger.java:3054)
	at org.hibernate.internal.SessionFactoryImpl.close(SessionFactoryImpl.java:1320)
	at org.hibernate.ejb.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:194)
	at org.glassfish.persistence.jpa.JPADeployer.closeEMFs(JPADeployer.java:417)
	at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:408)
	at org.glassfish.kernel.event.EventsImpl$1.run(EventsImpl.java:120)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

SEVERE: Exception while loading the app : org.jboss.weldx.transaction.UserTransaction$-1947473074$Proxy$_$$_Weld$Proxy$ cannot be cast to javassist.util.proxy.ProxyObject
java.lang.ClassCastException: org.jboss.weldx.transaction.UserTransaction$-1947473074$Proxy$_$$_Weld$Proxy$ cannot be cast to javassist.util.proxy.ProxyObject
	at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:249)
	at org.jboss.weld.bean.builtin.ee.AbstractEEBean.<init>(AbstractEEBean.java:43)
	at org.jboss.weld.bean.builtin.ee.UserTransactionBean.<init>(UserTransactionBean.java:52)
	at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:190)
	at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:350)
	at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:179)
	at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
	at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:277)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
	at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
	at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
	at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
	at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:722)

De uma hora para outra parar eu não acredito.

Eu creio em houve alteração em algo. De código, de ambiente, de configuração… alguma coisa mudou.

Teve alguma alteração em alguma classe, mesmo que boba?

sim adicionei classes com herança, segue:

@Entity
@Table(name = "HEADSET", catalog = "", schema = "ASK")
public class Headset extends Patrimonio implements Serializable {

    public Headset() {
    }
}
@Entity
@Table(name = "PATRIMONIO", catalog = "", schema = "ASK")
@Inheritance(strategy = InheritanceType.JOINED)
public class Patrimonio implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @NotNull(message = "Informe o Número do Patrimônio")
    @Column(name = "NUM_PATRIMONIO")
    private BigDecimal numPatrimonio;
    @Size(max = 1000)
    @Column(name = "DESCRICAO", length = 1000, nullable = true)
    private String descricao;
    @NotNull(message = "Informe se o Patrimônio está funcionando")
    @Column(name = "FUNCIONAL")
    @Enumerated(EnumType.ORDINAL)
    private EnumAtivo funcional;
    @NotNull(message = "Informe o Número de Série")
    @Size(min = 1, max = 255)
    @Column(name = "NUM_SERIE", nullable = false)
    private String numSerie;
    @ManyToOne(optional = true)
    private Setor fkSetor;

    public BigDecimal getNumPatrimonio() {
        return numPatrimonio;
    }

    public void setNumPatrimonio(BigDecimal numPatrimonio) {
        this.numPatrimonio = numPatrimonio;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public EnumAtivo getFuncional() {
        return funcional;
    }

    public void setFuncional(EnumAtivo funcional) {
        this.funcional = funcional;
    }

    public String getNumSerie() {
        return numSerie;
    }

    public void setNumSerie(String numSerie) {
        this.numSerie = numSerie;
    }

    public Setor getFkSetor() {
        return fkSetor;
    }

    public void setFkSetor(Setor fkSetor) {
        this.fkSetor = fkSetor;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 23 * hash + Objects.hashCode(this.numPatrimonio);
        hash = 23 * hash + Objects.hashCode(this.descricao);
        hash = 23 * hash + (this.funcional != null ? this.funcional.hashCode() : 0);
        hash = 23 * hash + Objects.hashCode(this.numSerie);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Patrimonio other = (Patrimonio) obj;
        if (!Objects.equals(this.numPatrimonio, other.numPatrimonio)) {
            return false;
        }
        if (!Objects.equals(this.descricao, other.descricao)) {
            return false;
        }
        if (this.funcional != other.funcional) {
            return false;
        }
        if (!Objects.equals(this.numSerie, other.numSerie)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Patrimonio{" + "numPatrimonio=" + numPatrimonio + ", descricao=" + descricao + ", funcional=" + funcional + ", numSerie=" + numSerie + '}';
    }
}

já retirei mas nao funciona

hum… já achamos alguma coisa então…

Faz o seguinte.

Vai retirando todas as alterações até a última versão que funcione… Assim que o código voltar a funcionar, adicione uma a uma. Você irá achar o problema rapidinho! :wink:

tirei tudo e nao deu certo ate agora, se eu recrio o projeto ele funciona mas depois começa o erro de novo.

@jakefrog eu copiei a pasta do projeto, deletei a existente, criei uma nova, copiei tudo la dentro e pronto funcionou.

Em alguns sites vi problemas parecidos mas com jboss, nesse caso deveria ser retirada a classe javaassist mas nao funciona com o glass.

Obrigado pela ajuda