我在使用SessionFactory进行Spring Hibernate Integration时this tutorial。向下滚动到DbUtil.java,初始化方法用于创建表。
到目前为止,我还没有需要这样的方法,因为hibernate会自动创建表。那么这个初始化的目的是什么?有什么好处吗? 似乎就像不必要的复杂性一样。
DbUtil.java
public void initialize(){
DataSource dataSource = getDataSource();
try {
Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
statement.executeUpdate("CREATE TABLE PERSON (ID INTEGER, NAME VARCHAR(50), EMAIL VARCHAR(100))");
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
答案 0 :(得分:2)
我不确定,但是如果hibernate.hbm2ddl.auto属性没有设置为create,可能会显示它是如何完成的。 通常,您不允许hibernate在生产环境中自动创建表(尽管有人会这样做)。