mysql - 通过 JPA EntityManager 执行创建表查询

标签 mysql sql hibernate jpa create-table

我需要在通过 JPA EntityManager 访问的数据库中创建一个新表。 JPA NativeQueries 是否支持“选择”或“更新”以外的查询?或者是否有另一种最先进的方法来在 JPA 上下文中执行复杂的 SQL 查询?

最佳答案

jpa“ native 查询”只能用于 DML 语句(数据操作语言)。要发出任何 DDL,例如创建表,您需要从 EntityManager 获取底层连接。

如何从 EM 中提取连接取决于您使用的 JPA 实现,但肯定会包括调用 EntityManager.getDelegate()。

或者(我认为这是一种更好的方法),如果您将 spring 用于尝试创建表的对象,则注入(inject) DataSource 或 JDBCTemplate,并使用该类创建表。

关于mysql - 通过 JPA EntityManager 执行创建表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141794/

相关文章:

mysql - SQL 语句结果的前三行有一个乘数

mysql - 从 bash 脚本查询 MySQL 数据库

sql - 如何将数字转换为单词 - ORACLE

mysql - IF ELSE 语句在 MySQL 中产生无效语法

hibernate - Gradle-排除嵌套的传递依赖项

php - MySQL如何获得表中所有所需字段的正确计数

mysql - InvalidArgument= '11209485' 的值对于 'index' 无效。参数名称 : index error when running SQL query in VB. NET

sql - 带有关联的Grails查询-在一个表中查找所有ID不在另一个表中的表

hibernate - Hibernate 中的通用 DAO 模式

mysql:反转 LIKE '%foo' 的内容列 - 好的做法?