一尘不染

休眠-自定义插入数据库

hibernate

我写这篇文章,以了解是否有人知道该怎么做:

我想做这个插入:

INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES (?, crypt(?,'cdp'))

加密是存储在我的数据库中的函数,也是我想在代码中插入的函数。实际上,当我想在数据库中插入某些内容时,我会使用:

getHibernateTemplate().persist(obj);

但是我想进行“自定义”插入,因为我需要使用该功能。

我正在使用hibernate+注释:

@org.hibernate.annotations.SQLInsert (sql = "INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES (?, crypt(?,'cdp'))")

但是必须从文件中读取密钥“ cdp”,因此该解决方案对我不起作用。

我想在代码上使用一种方法来执行SQL查询(INSERT查询)


阅读 218

收藏
2020-06-20

共1个答案

一尘不染

这是一个解决方案:

Query query = getSession().createSQLQuery("INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES (:valor1, encripta(:valor2, :key))");
query.setParameter("valor1", valor1);
query.setParameter("valor2", valor2);
query.setParameter("key", key);
query.executeUpdate();
2020-06-20