Pessoal, é o seguinte:
tenho uma classe e estou “tentando” usar hibernate annotations. A classe está corretamente mapeada, mas quando executo obtenho o seguinte erro:
INFO: Configuration resource: /hibernate.cfg.xml
Exception in thread "main" java.lang.ExceptionInInitializerError
at br.util.NscHibernateAnnotationUtil.<clinit>(NscHibernateAnnotationUtil.java:37)
at br.beans.NewClass.main(NewClass.java:22)
Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1405)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1427)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:972)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:69)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:966)
at br.util.NscHibernateAnnotationUtil.<clinit>(NscHibernateAnnotationUtil.java:24)
Pelo que eu pude entender, ele está sentindo falta do arquivo /hibernate.cfg.xml, mas no meu caso estou usando anotação!. Minha factory está definida assim:
public class NscHibernateAnnotationUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration()
.addPackage("br.beans") //the fully qualified package name
.addAnnotatedClass(Configuracao.class)
.configure()
.buildSessionFactory();
} catch (Throwable ex) {
// Log exception!
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession() throws HibernateException {
return sessionFactory.openSession();
}
}
Nesse caso, estou usando como exemplo http://docs.jboss.org/hibernate/stable/annotations/reference/en/html/ch01.html
O que estou fazendo errado? Vou ter que continuar usando o hibernate.cfg.xml? Onde ele vai ficar? Que conteúdo ele vai ter?