0

我正在尝试通过使用本机 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

4 回答 4

2

If you use createSQLQuery this throw a native sql instruction

Your object table name is Medicament too?

于 2013-03-25T19:12:12.607 回答
2

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

如果您使用的是 Spring ORM,则无需在休眠中执行查询。

于 2013-03-25T19:16:37.737 回答
2

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

于 2013-03-25T19:09:03.163 回答
2

你需要打电话

session.executeUpdate() 
transaction.commit(); 

在闭幕会议之前。

于 2013-03-25T19:09:42.510 回答