Java 冬眠:我得到一个;找不到查询类“的持久类”;
当我尝试执行查询时,我一直得到一个Java 冬眠:我得到一个;找不到查询类“的持久类”;,java,xml,hibernate,Java,Xml,Hibernate,当我尝试执行查询时,我一直得到一个没有找到查询类的持久类,我不确定这是为什么?我能够成功地建立连接,但我不知道是什么导致了无持久类问题 CarProducts列表的大小返回0 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; /** * TODO: Enter Javadoc */ @E
没有找到查询类的持久类,我不确定这是为什么?我能够成功地建立连接,但我不知道是什么导致了无持久类问题
CarProducts列表的大小返回0
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* TODO: Enter Javadoc
*/
@Entity
@Table(name = "car_product")
public class CarProduct {
//~ Instance fields ------------------------------------------------------------------------------------------------
@Column(name = "car_id")
private String carid;
@Column(name = "product_id")
private String productid;
@Column(name = "attribute")
private String attribute;
@Column(name = "value")
private String value;
//~ Constructors ---------------------------------------------------------------------------------------------------
/**
* Creates a new CarProduct object.
*/
public CarProduct() {
}
//~ Methods --------------------------------------------------------------------------------------------------------
public String getAttribute() {
return attribute;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
public String getCarid() {
return carid;
}
public void setCarid(String carid) {
this.carid = carid;
}
public String getProductid() {
return productid;
}
public void setProductid(String productid) {
this.productid = productid;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
publicstaticvoidmain(字符串[]args)抛出SQLException{
会话工厂会话工厂;
服务注册中心服务注册中心;
配置配置=新配置();
config.configure();
serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
sessionFactory=config.buildSessionFactory(serviceRegistry);
Session Session=sessionFactory.getCurrentSession();
session.beginTransaction();
//我也必须指定包名,这真的很烦人,但如果只是“从CarProduct”执行,它会抛出一个错误。
List carProducts=session.createQuery(“from com.searchresults.CarProduct”).List();
System.out.println(“列表的大小为:“+carProducts.SIZE()”);
session.getTransaction().commit();
}
oracle.jdbc.driver.OracleDriver
不关你的事
不关你的事
不关你的事
1.
org.hibernate.dialen.oracle10galent
真的
线
我得到以下StrackTrace:
HCANN000001:Hibernate Commons注释{4.0.2.Final}
HH000412:Hibernate核心{4.2.2.Final}
HH000206:找不到hibernate.properties
HH000021:字节码提供程序名称:javassist
HH000043:从资源配置:/hibernate.cfg.xml
HH000040:配置资源:/hibernate.cfg.xml
HH000041:配置的会话工厂:null
HH000402:使用Hibernate内置连接池(不用于生产!)
HH000115:休眠连接池大小:1
HH000006:自动提交模式:错误
HH000401:在URL[不关您的事]处使用驱动程序[oracle.jdbc.driver.OracleDriver]
HH000046:连接属性:{user=不关你的事,password=不关你的事}
HH000400:使用方言:org.hibernate.dialogue.Oracle10gDialogue
HH000399:使用默认事务策略(直接JDBC事务)
HH000397:使用ASTQueryTranslatorFactory
HH000183:未找到com.searchresults.CarProduct中查询类的持久类
列表的大小为:0
您需要告诉Hibernate在哪里可以找到实体类。一种方法是在会话工厂
下明确提及它。请确保其中包含完全限定的类名。您的示例包含一个默认包,因此这就是我放在这里的内容
<mapping class="CarProduct"/>
您需要告诉Hibernate在哪里可以找到实体类。一种方法是在会话工厂
下明确提及它。请确保其中包含完全限定的类名。您的示例包含一个默认包,因此这就是我放在这里的内容
<mapping class="CarProduct"/>
您需要将带注释的类映射到hibernate-cfg.xml文件中
在会话工厂内部
您需要将带注释的类映射到hibernate-cfg.xml文件中
在会话工厂内部
是的,已经解决了,但现在我无法查询列。我把com.searchresults.CarProduct中的“放在carid='blah'
的地方,但是我在carid
下得到了一个错误。这个查询正确吗(“from com.searchresults.CarProduct”)
?@Robben您需要发布错误以帮助我们理解错误problem@Julian是的,这是有效的HQL语法。@Julian yea,你是对的,这很奇怪,但如果我不指定包名,它就不起作用了@Pradeep,它没有给出错误,只是在carid
下突出显示红色。是的,这修复了它,但现在我无法查询列。我把com.searchresults.CarProduct中的“放在carid='blah'
的地方,但是我在carid
下得到了一个错误。这个查询正确吗(“from com.searchresults.CarProduct”)
?@Robben您需要发布错误以帮助我们理解错误problem@Julian是的,这是有效的HQL语法。@Julian yea,你是对的,这很奇怪,但如果我不指定包名,它就不起作用了@Pradeep,它没有给出错误,只是在carid
下高亮显示红色。
<mapping class="CarProduct"/>