在Hibernate中执行sql CREATE TABLE查询

时间:2011-11-16 21:37:55

标签: sql hibernate hql

我需要使用Java方法动态创建表,并将其所有行转换为Mapping类对象列表。问题是......

  • 有没有办法动态执行CREATE TABLE查询?

  • 我看到了一些使用doInHibernate()的例子,但是当我尝试它时它没有用。我可以在没有特定方法的情况下这样做吗?

2 个答案:

答案 0 :(得分:3)

您可以执行本机SQL查询:session.createSQLQuery("create table .....").executeUpdate();其中“session”是您的Hibernate会话。

如果您已有映射文件,则可以在hibernate配置中设置hibernate.hbm2ddl.auto属性,以根据映射文件生成模式。

答案 1 :(得分:0)

试试这个:

session.createSQLQuery(query).executeUpdate();

另一种可能性是:

createStatement().execute(someddl);