有这样一个函数
public List getTrades()
{
openSession();//打开session
String hsql = "from tbl_trade";
Query query = session.createQuery(hsql);
List list = query.list() ;
closeSession();//关闭session()
return list;
}
//运行该函数时报错
报错信息:
org.apache.jasper.JasperException: tbl_trade is not mapped [from tbl_trade]
而如果用下面的代码运行则能正确插入数据
public List getTrades()
{
openSession();//打开session
DbTrade trade = new DbTrade();
trade.setTradeId(2);
trade.setTradeName("IT业");
session.save(trade);
//String hsql = "from tbl_trade";
//Query query = session.createQuery(hsql);
//List list = query.list() ;
closeSession();//关闭session()
return null; }
为什么前面那个查询的函数会报错呢?小弟刚刚学习hiberater,请各位高手不吝赠教. 其中 tbl_trade 的结构为:
create table tbl_trade
(
trade_id int4 not null ,
trade_name varchar(30) not null,
constraint tbl_trade_id_pk primary key(trade_id)
);
DbTrade.java 的代码如下:
public class DbTrade implements Serializable {
private int tradeId;
private String tradeName;
public DbTrade() {
}
public int getTradeId() {
return tradeId;
}
public String getTradeName() {
return tradeName;
}
public void setTradeId(int tradeId) {
this.tradeId = tradeId;
}
public void setTradeName(String tradeName) {
this.tradeName = tradeName;
}
}
TbTrade.hbm.xml 的内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class
name="com.callcenter.dicword.db.DbTrade"
table="tbl_trade"
>
<id name="tradeId" type="int" column="trade_id">
<generator class="assigned" />
</id>
<property name="tradeName" type="java.lang.String" column="trade_name" not-null="true" length="30"/>
</class>
</hibernate-mapping>
public List getTrades()
{
openSession();//打开session
String hsql = "from tbl_trade";
Query query = session.createQuery(hsql);
List list = query.list() ;
closeSession();//关闭session()
return list;
}
//运行该函数时报错
报错信息:
org.apache.jasper.JasperException: tbl_trade is not mapped [from tbl_trade]
而如果用下面的代码运行则能正确插入数据
public List getTrades()
{
openSession();//打开session
DbTrade trade = new DbTrade();
trade.setTradeId(2);
trade.setTradeName("IT业");
session.save(trade);
//String hsql = "from tbl_trade";
//Query query = session.createQuery(hsql);
//List list = query.list() ;
closeSession();//关闭session()
return null; }
为什么前面那个查询的函数会报错呢?小弟刚刚学习hiberater,请各位高手不吝赠教. 其中 tbl_trade 的结构为:
create table tbl_trade
(
trade_id int4 not null ,
trade_name varchar(30) not null,
constraint tbl_trade_id_pk primary key(trade_id)
);
DbTrade.java 的代码如下:
public class DbTrade implements Serializable {
private int tradeId;
private String tradeName;
public DbTrade() {
}
public int getTradeId() {
return tradeId;
}
public String getTradeName() {
return tradeName;
}
public void setTradeId(int tradeId) {
this.tradeId = tradeId;
}
public void setTradeName(String tradeName) {
this.tradeName = tradeName;
}
}
TbTrade.hbm.xml 的内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class
name="com.callcenter.dicword.db.DbTrade"
table="tbl_trade"
>
<id name="tradeId" type="int" column="trade_id">
<generator class="assigned" />
</id>
<property name="tradeName" type="java.lang.String" column="trade_name" not-null="true" length="30"/>
</class>
</hibernate-mapping>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货