Java 无法通过Hibernate连接到数据库…太快了
Product.javaJava 无法通过Hibernate连接到数据库…太快了,java,hibernate,Java,Hibernate,Product.java public class Product { private int productId; private String proName; private double price; public void setProductId(int productId) { this.productId = productId; } public int getProductId() {
public class Product {
private int productId;
private String proName;
private double price;
public void setProductId(int productId)
{
this.productId = productId;
}
public int getProductId()
{
return productId;
}
public void setProName(String proName)
{
this.proName = proName;
}
public String getProName()
{
return proName;
}
public void setPrice(double price)
{
this.price = price;
}
public double getPrice()
{
return price;
}
}
Product.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Product" table="PRODUCTS">
<id name="productId" column="pid" >
<generator class="assigned" />
</id>
<property name="proName" column="pname" />
<property name="price"/>
</class>
</hibernate-mapping>
控制台上的输出为错误>>>
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/MetadataProvider
at ClientForSave.main(ClientForSave.java:12)
Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataProvider
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
p请解决这个问题。自从10天以来,每当hibernate示例应用程序出现错误时,我都会尝试编写这样的代码。我只是一个初学者。我请求你们解决这个问题,并用简单的方式解释我。感谢你们的所有建议。异常实际上告诉了你们问题是什么:
java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/MetadataProvider
在运行时,它找不到类org.hibernate.annotations.common.reflection.MetadataProvider。您需要提供在应用程序的类路径中包含此类的jar。我不知道您的设置是什么样的,但是从您获得hibernate-core-4.3.1.Final.jar的同一来源,您应该能够获得hibernate-commons-annotations-4.0.4.Final.jar(假设您使用的是最新版本)。检索它,将其放入类路径中,异常应该消失。异常实际上是在告诉您问题所在:
java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/MetadataProvider
在运行时,它找不到类org.hibernate.annotations.common.reflection.MetadataProvider。您需要提供在应用程序的类路径中包含此类的jar。我不知道您的设置是什么样的,但是从您获得hibernate-core-4.3.1.Final.jar的同一来源,您应该能够获得hibernate-commons-annotations-4.0.4.Final.jar(假设您使用的是最新版本)。检索它,将其放入类路径,异常应该消失。如何运行应用程序?如何运行应用程序?
java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/MetadataProvider