hibernate - 从查询结果返回插入脚本

时间:2014-10-17 02:44:37

标签: java mysql database hibernate jpa

是否存在我可以利用的现有库/框架,这将允许我从查询结果生成INSERT mysql脚本。

例如,在HQL中我有:

SELECT book FROM book b WHERE b.created >= :today

而不是List<Book>,我所拥有的是文本:

INSERT INTO book VALUES (...)

或者无论如何我可以将hibernate实体列表转换为mysql脚本INSERT INTO脚本。

任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以像这样编写SELECT查询:

SELECT 'INSERT INTO book (id, name, isbn) VALUES ('|| b.id ||','|| b.name ||','|| b.isbn ||');' FROM book b;

您需要注意VARCHAR列,因为值需要使用引号进行转义。

答案 1 :(得分:0)

您可以使用mysqldump

mysqldump -u username -p dbname book --compact --no-create-info --where="created >= '2014-10-01'" > dump.sql

这将为与WHERE子句INSERT INTO匹配的表行生成book.created >= '2014-10-01'语句