【发布时间】:2012-03-07 15:20:06
【问题描述】:
我正在使用 spring roo 开发一个应用程序,它使用 spring 3 和 hibernate。
由于后端构建为非生产性后端,因此我选择了将数据设置回转储的选项。
如果用户提交了一个 jsp 表单,这个转储应该被“执行”。
我可以加载 Dump.sql 文件,一切都很好,只是我不知道如何执行它。
我尝试了几种方法:
1. 实体管理器的原生查询:
Query q = entityManager.createNativeQuery(dump);
q.executeUpdate();
但它不起作用(休眠异常)我认为这是因为休眠无法“读取” mysql 导出的 Dump.sql 文件”
2. 方法是使用休眠:
Configuration cfg = new Configuration();
File configFile = new File(getClass().getClassLoader().getResource("/METAINF/persistence.xml").toURI());
cfg.configure(configFile);
SessionFactory sf=cfg.buildSessionFactory();
Session sess=sf.openSession();
Statement st;
st = sess.connection().createStatement();
但它也不起作用:
org.hibernate.MappingException: 无效配置 原因:org.xml.sax.SAXParseException:文档无效:未找到语法。
有什么建议吗?
【问题讨论】:
-
不能启动mysql recoverytool吗?
标签: hibernate spring mysqldump spring-roo database-dump