使用直接调用查询更新表出错

时间:2014-02-25 11:07:01

标签: java mysql hsqldb

这是我的功能..

    public static void expMember(){
    Session session=HibernateUtil.getSessionFactory().openSession(); 

    java.util.Date utilDate=new java.util.Date();
    java.sql.Date sqldate=new java.sql.Date(utilDate.getTime());

    Format formatter = new SimpleDateFormat("yyyy-MM-dd");
    String a= formatter.format(sqldate);  

    Query query = session.createSQLQuery (" update tbl_member set exp_status = 'true' where renewDate="+a);

    int result = query.executeUpdate();

    System.out.println(result);
    }

错误显示..

org.hibernate.hql.internal.ast.QuerySyntaxException: tbl_member is not mapped [ update 
 tbl_member set exp_status = 'true' where renewDate=2014-02-25]

2 个答案:

答案 0 :(得分:2)

尝试这个,我认为你缺少单个冒号日期

public static void expMember(){
    Session session=HibernateUtil.getSessionFactory().openSession(); 

    java.util.Date utilDate=new java.util.Date();
    java.sql.Date sqldate=new java.sql.Date(utilDate.getTime());

    Format formatter = new SimpleDateFormat("yyyy-MM-dd");
    String a= formatter.format(sqldate);  

    Query query = session.createSQLQuery (" update tbl_member set exp_status = 'true' where renewDate="+"'" + a + "';";

    int result = query.executeUpdate();

    System.out.println(result);
    }

错误是因为你没有映射你的tbl_member,请映射你的表memeber

答案 1 :(得分:1)

检查有关实体“tbl_member”的所有.xml配置文件中的映射。

您是否尝试过谷歌搜索this