2017-05-22 81 views
0

SOLVEDInitial SessionFactory創建失敗:java.lang.NoClassDefFoundError:javax/persistence/NamedStoredProcedureQuery

我做了什麼來解決它?

我加入了Persistence JPA2.1圖書館

初始化出錯

我有這個錯誤

Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: javax/persistence/NamedStoredProcedureQuery 
Exception in thread "main" java.lang.ExceptionInInitializerError 
at modelo.util.HibernateUtil.<clinit>(HibernateUtil.java:29) 
at modelo.dao.GenericDAO.getAll(GenericDAO.java:89) 
at principal.Main.main(Main.java:34) 
Caused by: java.lang.NoClassDefFoundError: javax/persistence/NamedStoredProcedureQuery 
at org.hibernate.cfg.AnnotationBinder.bindDefaults(AnnotationBinder.java:276) 
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1402) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928) 
at modelo.util.HibernateUtil.<clinit>(HibernateUtil.java:25) 
... 2 more 
Caused by: java.lang.ClassNotFoundException: javax.persistence.NamedStoredProcedureQuery 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 7 more 

不知道爲什麼我收到異常

主要等級:

public class Main { 

/** 
* @param args the command line arguments 
*/ 
    public static void main(String[] args) { 
     GenericDAO clienteDAO = new GenericDAO(); 
     List<Cliente> list = clienteDAO.getAll(Cliente.class); 
     System.out.println(list.size()); 
     for(Cliente c : list) 
     {System.out.println("-> " + c.getNombre()); 
     } 
    } 
} 

的HibernateUtil類:

public class HibernateUtil { 

private static final SessionFactory sessionFactory; 

static { 
    try { 
     // Create the SessionFactory from standard (hibernate.cfg.xml) 
     // config file. 
     sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); 
    } catch (Throwable ex) { 
     // Log the exception. 
     System.err.println("Initial SessionFactory creation failed." + ex); 
     throw new ExceptionInInitializerError(ex); 
    } 
} 

public static SessionFactory getSessionFactory() { 
    return sessionFactory; 
} 
} 

映射Class.hbm.xml文件:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<!-- Generated 21/05/2017 17:46:05 by Hibernate Tools 4.3.1 --> 
<hibernate-mapping> 
<class name="modelo.pojo.Cliente" table="cliente" catalog="basededatosprueba" optimistic-lock="version"> 
    <id name="codigo" type="java.lang.Integer"> 
     <column name="codigo" /> 
     <generator class="identity" /> 
    </id> 
    <property name="nombre" type="string"> 
     <column name="nombre" /> 
    </property> 
    <property name="direccion" type="string"> 
     <column name="direccion" /> 
    </property> 
    <property name="telefono" type="string"> 
     <column name="telefono" /> 
    </property> 
    <property name="cuit" type="string"> 
     <column name="cuit" /> 
    </property> 
    <property name="cp" type="java.lang.Integer"> 
     <column name="cp" /> 
    </property> 
    <property name="saldo" type="java.lang.Double"> 
     <column name="saldo" precision="22" scale="0" /> 
    </property> 
    <property name="deuda" type="java.lang.Double"> 
     <column name="deuda" precision="22" scale="0" /> 
    </property> 
</class> 
</hibernate-mapping> 

的hibernate.cfg.xml

<hibernate-configuration> 
<session-factory> 
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/basededatosprueba?zeroDateTimeBehavior=convertToNull</property> 
<property name="hibernate.connection.username">root</property> 
<property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property> 
<mapping resource="modelo/pojo/Cliente.hbm.xml"/> 
</session-factory> 
</hibernate-configuration> 

enter image description here

我不知道爲什麼我收到錯誤。

希望有人能幫助我。謝謝

回答

1

求助 我做了什麼來解決它?

我加入了Persistence JPA2.1圖書館

有問題嗎?我很樂意幫助

相關問題