还是hibernate的问题

ttoc 2004-11-03 04:14:00
为什么总是出

java.sql.SQLException: 在关键字 'from' 附近有语法错误。

这个异常

xml文件是这样的:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="Log" table="tbnc_log" discriminator-value="0">
<id name = "id" unsaved-value = "null">
<column name="Log_id"/>
<generator class="identity"/>
</id>
<property name="time" type="timestamp">
<column name="Log_datetime" sql-type="datetime"/>
</property>
<property name="operator" type="string">
<column name="Log_operator" sql-type="nvarchar(255)"/>
</property>
<property name="operate" type="string">
<column name="Log_operate" sql-type="nvarchar(255)"/>
</property>
<property name="table" type="string">
<column name="Log_table" sql-type="varchar(255)"/>
</property>
<property name="record_id" type="integer">
<column name="Log_record_id" sql-type="int"/>
</property>
<property name="record_name" type="string">
<column name="Log_record_name" sql-type="varchar(50)"/>
</property>
</class>
</hibernate-mapping>







.java是这样的:

public class Log {
private int id;
private java.util.Date time;
private String operator;
private String operate;
private String table;
private int record_id;
private String record_name;
public Log() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public java.util.Date getTime() {
return time;
}
public void setTime(java.util.Date time) {
this.time = time;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public String getOperate() {
return operate;
}
public void setOperate(String operate) {
this.operate = operate;
}
public String getTable() {
return table;
}
public void setTable(String table) {
this.table = table;
}
public int getRecord_id() {
return record_id;
}
public void setRecord_id(int record_id) {
this.record_id = record_id;
}
public String getRecord_name() {
return record_name;
}
public void setRecord_name(String record_name) {
this.record_name = record_name;
}
}

做了个测试文件是这样的

Configuration cfg = new Configuration().addClass(Log.class);
SessionFactory sessions = cfg.buildSessionFactory();
Session session = sessions.openSession();
Query q = session.createQuery("from tbnc_log");
q.setFirstResult(1);
q.setMaxResults(10);
java.util.List cats = q.list();//到这就出那个异常了

数据库中的表叫tbnc_log

Log_id int 4 notNull
Log_datetime datetime 8 notNull
Log_operator nvarchar 255 notNull
Log_operato nvarchar 255 notNull
Log_table varchar 255
Log_record_id int 4
Log_record_name varchar 50

没有主键!!但是Log_id的确不重复

麻烦大家告诉我一下为什么总是出

java.sql.SQLException: 在关键字 'from' 附近有语法错误。

这个异常

谢谢了,我只有90分了......
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttoc 2004-11-04
  • 打赏
  • 举报
回复
zhxx(做个好流氓有多难) 谢谢兄弟了
ttoc 2004-11-03
  • 打赏
  • 举报
回复
谢谢兄弟了,但是不是这个问题
rosifox 2004-11-03
  • 打赏
  • 举报
回复
不知道这样子是不是:在from前面加一空格
zhxx 2004-11-03
  • 打赏
  • 举报
回复
Query q = session.createQuery("from Log log");
ttoc 2004-11-03
  • 打赏
  • 举报
回复
到底怎么办呀?!
ttoc 2004-11-03
  • 打赏
  • 举报
回复
那个测试文件只是个片段,放在main中了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧