package Test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import Entity.Emp;
import Factory.HibernateSessionFactory;
public class test2 {
// 本地SQL查询
public static void main(String[] args) {
Session sess = HibernateSessionFactory.getSession();
 String sql="select {e.*} from Emp as e";
 Query query=sess.createSQLQuery(sql).addEntity("e",Emp.class);
 List<Emp> List=query.list();
for (Emp emp : List) {
System.out.println(emp.getEname());
}
sess.close();
}
}
Hibernate用注解方式映射oracle数据库scott用户下的emp表
运行时为什么报错?
警告: SQL Error: 933, SQLState: 42000
2013-6-30 20:21:41 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: ORA-00933: SQL 命令未正确结束配置文件中,关于方言的配置
<property name="dialect">
org.hibernate.dialect.OracleDialect
</property>

解决方案 »

  1.   

    Query query=sess.createSQLQuery(sql).addEntity("e",Emp.class);这里加这个干啥啊??不通!!
    .addEntity("e",Emp.class);
      

  2.   

    select {e.*} from Emp as e    改为:   select {e.*} from emp as e
      

  3.   

    你用sql的话,Emp就是表不是实体类,hql的话,Emp就是实体类而不是表,这个你要搞清楚哦,
      

  4.   

    Oracle中的SQL查询语句为表指定别名时不可指定为as,空格即可.