2011-11-16 48 views
0

我需要使用Java方法动态创建一个表,并将其所有行转换为Mapping类对象列表。问题是...在休眠中执行sql CREATE TABLE查询

  • 是否有办法动态地执行CREATE TABLE查询?

  • 我看到了一些使用doInHibernate()的例子,但是它在我尝试使用时并不起作用。我能不用特定的方法做到这一点吗?

回答

0

试试这个:

session.createSQLQuery(query).executeUpdate(); 

另一种可能性是:

createStatement().execute(someddl); 
2

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

但是,如果您已经有映射文件,则只需在hibernate配置中设置hibernate.hbm2ddl.auto属性即可基于映射文件生成架构。