Eclipse Acusa expressão deprecated de uma hora pra outra

7 respostas
dudu_sps

Essa Expressão

criteria.add(org.hibernate.criterion.Expression.eq("nome", nome));

de uma hora pra outra começou acusar que está deprecated

oque pode ser??

7 Respostas

foxpv

vc atualizou a versão de algum framework (no caso parece ser o Hibernate) na sua app?

pode ter sido isso.

ctosin

Olá,

A documentação do Hibernate diz que Expression não deve ser mais utilizada. Use Restrictions no lugar.

https://www.hibernate.org/hib_docs/v3/api/org/hibernate/criterion/Expression.html

Abraço

dudu_sps

Não na realidade o que eu fiz foi o seguinte

tava rodando tudo belezinha
dai eu aprendi a criar o .jar com o eclipse, não preciso mais ficar abrindo o netbeans talz

dai o que eu fiz… foi adicionar alguns jars do jasper e ireport
dai na hora que eu fui exportar começou acusar que essa expressão do hibernate esta deprecated

dudu_sps

Bom eu troquei o Expression pelo Restrictions

dai não funciona mais formulário nenhum meu

dai eu vou postar um erro de um formulario pra ver se da pra ve algo

java.lang.reflect.InvocationTargetExceptionIWAV0052E Invocation Target Exception creating janelas.CadastroBanco

	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.AnnotationConfiguration
	at util.HibernateUtil.criarSessionFactory(HibernateUtil.java:28)
	at util.HibernateUtil.getSessionFactory(HibernateUtil.java:20)
	at util.HibernateUtil.getSession(HibernateUtil.java:14)
	at dao.Dao.carregarPorID(Dao.java:97)
	at janelas.CadastroBanco.getBtnsalvar(CadastroBanco.java:226)
	at janelas.CadastroBanco.getJContentPane(CadastroBanco.java:165)
	at janelas.CadastroBanco.initialize(CadastroBanco.java:107)
	at janelas.CadastroBanco.<init>(CadastroBanco.java:91)
	... 13 more

Ta falando algo sobre o hibernateUtil

ta ai ele
package util;

import objetos.*;

import org.hibernate.SessionFactory;
import org.hibernate.classic.Session;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {

	public static SessionFactory sessionFactory = null;

	public synchronized static Session getSession() throws Exception {
		return getSessionFactory().openSession();
	}

	public synchronized static SessionFactory getSessionFactory()
			throws Exception {
		if (sessionFactory == null) {
			sessionFactory = criarSessionFactory();
		}
		return sessionFactory;
	}

	public static SessionFactory criarSessionFactory() throws Exception {

		//LeituraArquivo url = new LeituraArquivo();
		AnnotationConfiguration cfg = new AnnotationConfiguration();

		cfg.setProperty("hibernate.connection.driver_class",
				"com.mysql.jdbc.Driver");
		cfg.setProperty("hibernate.connection.url",
				"jdbc:mysql://localhost/estoque");
		cfg.setProperty("hibernate.dialect",
				"org.hibernate.dialect.MySQLDialect");
		cfg.setProperty("hibernate.connection.username", "root");
		cfg.setProperty("hibernate.connection.password", "");
		cfg.setProperty("hibernate.show_sql", "true");

		\classes

		return cfg.buildSessionFactory();
	}

}

alguem da uma mão

ctosin

Se você interpretar a stacktrace, vai ver que o problema não é com a sua classe HibernateUtils. O problema está relacionado à inicialização da classe AnnotationConfiguration, que precisa de uma outra classe que não foi encontrada no seu classpath.

Consulte a documentação do Hibernate. Este problema normalmente acontece quando você esquece de colocar algum JAR de dependência no seu classpath.

Abraços

dudu_sps

engraçado… é que com o Expression funcionava certin

mas blz… vlw ctosin… daqui a poco eu testo e coloco a resposta

dudu_sps

Eu Baixei o hibernate mais atual e coloqueis os jars

e quando eu tava usando o expression tava funcionando certinho

o que pode ser??

Criado 23 de dezembro de 2009
Ultima resposta 23 de dez. de 2009
Respostas 7
Participantes 3