插入Sql查询不使用HQL

时间:2013-03-25 19:06:59

标签: java sql hibernate hql

我正在尝试使用本机SQL代码在HQlL中简单地插入数据库。

它没有给出任何错误,它只是不起作用。任何帮助表示赞赏。

感谢。

public void AddMedicament(Medicament medicament) {
    System.out.println(medicament.getName());
    // open a database connection
    Session session = FarmacieHibernateUtil.getSessionFactory().openSession();
    Transaction transaction = session.beginTransaction();
    // prepare SQL insert command
    session.createSQLQuery("insert into Medicament(name) values('test')");

    // close the database connection
    session.close();
}

4 个答案:

答案 0 :(得分:2)

我不熟悉Hibernate,但我没有看到你正在运行你的命令。您只需创建查询和关闭会话我认为您需要一些语句来执行它。

答案 1 :(得分:2)

您需要致电

session.executeUpdate() 
transaction.commit(); 

在结束会议之前。

答案 2 :(得分:2)

如果使用createSQLQuery,则抛出本机sql指令

您的对象表名称也是Medicament吗?

答案 3 :(得分:2)

session.saveOrUpdate(药物); tx.commit();  如果你没有设置主键,它将插入,如果你在域对象中设置PK,那么它将被更新。

如果您使用的是Spring ORM,则无需在hibernate中执行Query。