Hibernate 3.0 + класс ElementCollection отсутствует
Я создал небольшой настольный проект с использованием Hibernate, чтобы понять, как там применяются шаблоны предприятия.
Я использую аннотации и написал класс, чтобы обернуть мою фабрику сессий
public class Hibernation {
private static final SessionFactory sessionFactory;
static{
try{
//sesionFactory = new org.hibernate.cfg.Configuration().configure().buildSessionFactory();
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
}
catch(Throwable e){
throw new ExceptionInInitializerError(e);
}
}
public static Session getSession(){
return sessionFactory.openSession();
}
}
Однако всякий раз, когда я пытаюсь запустить его, я получаю эту ошибку:
Вызывается: java.lang.ClassNotFoundException: javax.persistence.ElementCollection
У банок в моем classpath, кажется, нет того класса в них
hibernate3.jar
jpa.jar
log4j-1.2.15.jar
persistence-api-1.0.jar
slf4j-log4j12-1.0.1.jar
Я искал этот класс, но не могу найти, где его скачать. Есть идеи, какой файл jar мне не хватает? Я заглянул внутрь javaee.jar, где много предложений javax.persistence.***, но его там тоже нет.
Заранее спасибо.
3 ответа
Не берите javax.persistence_2.0_preview.jar из 1.2.0 пакетов OSGi zip, если вы тестируете Hibernate 3.5.0 beta 2, потому что он не завершен! Например, там отсутствует класс javax.persistence.criteria.CriteriaBuilder.
Возьмите следующий jar-файл: http://repository.jboss.org/maven2/org/hibernate/java-persistence/jpa-api/2.0-cr-1/jpa-api-2.0-cr-1.jar
Как правило, рекомендуется извлекать из этого репозитория все сторонние файлы hiberante (repository.jboss.org/maven2/org/hibernate/).
С уважением GD
Попробуйте ejb3-persistence-3.3.2.Beta1.jar
(или другую версию, если хотите) на вашем пути к классам и удалите другие файлы JPA.
У меня была такая же проблема сегодня утром, и в конце концов я нашел решение в этом вопросе.
Вы можете скачать предварительную версию EclipseLink JPA 2.0 здесь.
Я скачал zip-комплекты OSGi 1.2.0, а затем распаковал javax.persistence_2.0_preview.jar
файл, который, кажется, делает трюк с Hibernate 3.5.0 beta 2.