Hibernate - 自定义插入数据库 [英] Hibernate - Custom insert into database

查看:99
本文介绍了Hibernate - 自定义插入数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写这篇文章是为了知道有人知道怎么做:

I write this post to know if someone knows how to do this:

我想这样做插入:

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

Crypt是存储在我的数据库中的函数,我希望在我的代码中执行插入操作。实际上,当我想在数据库中插入一些东西时,我使用:

Crypt is a function stored in my database and the insert I would want to do it in my code. Actually when I want to insert something in the database I use:

getHibernateTemplate().persist(obj);

但我想做一个自定义插入,因为我需要使用该功能。

But I want to do a "custom" insert, because I need to use that function.

我正在使用hibernate +注释:

I am using hibernate + annotations:

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

但是必须从文件中提取密钥'cdp',所以这个解决方案对我不起作用。

But the key 'cdp' must be readed from a file, so this solution doesn't work for me.

我想用我的代码执行SQL查询的方法(INSERT查询)

I want to use a method on my code to execute a SQL query (INSERT query)

推荐答案

这是一个解决方案:

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();

这篇关于Hibernate - 自定义插入数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆