Hibernate 3.0 + ElementCollection类缺失

时间:2009-11-22 18:18:05

标签: hibernate annotations hibernate3 java

我使用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

我的类路径中的jar似乎没有其中的类

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。*** clases,但它也没有。

提前致谢。

3 个答案:

答案 0 :(得分:2)

不要拿 javax.persistence_2.0_preview.jar 如果你测试Hibernate 3.5.0 beta 2,从1.2.0 OSGi捆绑zip 因为它不完整! 例如,那里缺少类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 3hrd-party罐子从中取出 这个存储库(repository.jboss.org/maven2/org/hibernate /)

问候 G.D。

答案 1 :(得分:0)

今天早上我遇到了同样的问题,最终在this question找到了解决方案。

您可以从here下载EclipseLink JPA 2.0预览实现。

我下载了1.2.0 OSGi捆绑包zip,然后提取了javax.persistence_2.0_preview.jar文件,这似乎与Hibernate 3.5.0 beta 2有关。

答案 2 :(得分:0)

尝试在类路径中使用ejb3-persistence-3.3.2.Beta1.jar(或其他版本,如果您愿意),并删除其他JPA jar。