Se for a partir da versão 3.5, vc não pode usar o hibernate-annotations.jar
Pq ele já está adicionado dentro do hibernate3.jar, dai pode gerar conflito.
Pronto fiz o que disse, coloquei os jars da caelum, tirei o hibernate-annotations.jar.
ai fui rodar o codigo e deu o erro:
debug:
SLF4J: The requested version 1.5.8 by your slf4j binding is not compatible with [1.6]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
at org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:246)
at org.hibernate.type.BasicTypeRegistry.register(BasicTypeRegistry.java:144)
at org.hibernate.type.BasicTypeRegistry.<init>(BasicTypeRegistry.java:50)
at org.hibernate.type.TypeResolver.<init>(TypeResolver.java:46)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:249)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:300)
at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:74)
at amigos.HibernateUtil.<clinit>(HibernateUtil.java:12)
at amigos.Main.main(Main.java:36)
Na linha 12 do arquivo HibernateUtil.java tem, que esta riscado no meio:
AnnotationConfiguration cfg = new AnnotationConfiguration();
Estou com o problema no AnnotationConfiguration configuration = new AnnotationConfiguration(); aparecer riscado no NetBeans.
Estou usando a IDE NetBeans e quando tento instanciar um objeto da classe AnnotationConfiguration o código aparece riscado no meio.
Quando tento fazer o import acontece o mesmo. Por exemplo, quando
faço import org.hibernate.cfg.AnnotationConfiguration; só o comando AnnotationConfiguration aparece riscado. org.hibernate.cfg.AnnotationConfiguration
[quote=kokinha]Estou com o problema no AnnotationConfiguration configuration = new AnnotationConfiguration(); aparecer riscado no NetBeans.
Estou usando a IDE NetBeans e quando tento instanciar um objeto da classe AnnotationConfiguration o código aparece riscado no meio.
Quando tento fazer o import acontece o mesmo. Por exemplo, quando
faço import org.hibernate.cfg.AnnotationConfiguration; só o comando AnnotationConfiguration aparece riscado. org.hibernate.cfg.AnnotationConfiguration
Alguém sabe o que é isso???
Valeu![/quote]
Classe deprecated, ou seja, existe hoje outra classe que é melhor. E é mantida a antiga para fins de compatibilidade.
Valeu Ruttmann.
Estou seguindo a apostila Desenvolvimento Ágil para a Web 2.0 com VRaptor, Hibernate e AJAX (fj28) para aprender um pouco de Vraptor. Na apostila tem o seguinte código para adição de produto (página 25):
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
public class AdicaoDeProduto {
public static void main(String[] args) {
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Produto produto = new Produto();
produto.setNome("Prateleira");
produto.setDescricao("Uma prateleira para colocar livros");
produto.setPreco(35.90);
Transaction tx = session.beginTransaction();
session.save(produto);
tx.commit();
}
}
Nesse caso, se a classe AnnotationConfiguration está depreciada, qual seria a classe mais apropriada para se usar?
Valeu!!!
[quote=kokinha]Valeu Ruttmann.
Estou seguindo a apostila Desenvolvimento Ágil para a Web 2.0 com VRaptor, Hibernate e AJAX (fj28) para aprender um pouco de Vraptor. Na apostila tem o seguinte código para adição de produto (página 25):
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
public class AdicaoDeProduto {
public static void main(String[] args) {
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Produto produto = new Produto();
produto.setNome("Prateleira");
produto.setDescricao("Uma prateleira para colocar livros");
produto.setPreco(35.90);
Transaction tx = session.beginTransaction();
session.save(produto);
tx.commit();
}
}
Nesse caso, se a classe AnnotationConfiguration está depreciada, qual seria a classe mais apropriada para se usar?
Valeu!!![/quote]
Engraçado que esses dias tava fazendo um projeto de estudo aqui e passei pelo mesmo caso, tenho até o link salvo aqui.
Agora se usa a classe Configuration.
Mas, se você está apenas estudando, pode deixar essa classe, mesmo que deprecated. Ela fica assim riscada, justamente pra avisar o programador de que está eleita para exclusão, mas continua por um certo tempo por motivos de compatibilidade, mas as funcionalidades da classe continuam na boa.
Aí você que sabe. Não é difícil encontrar a implementação que substitui essa, no Google fica fácil!