前几日自己在使用S2SH框架写一个小系统,实体类是通过JPA注解进行配置的,dataSource以及hibernate的一些参数都是在spring的配置文件中写的,为了方便,数据库我并没有手动去创建(本人SQL一般),因此在applicationcontext.xml中配置了hbm2ddl.auto
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="connection.pool_size">1</prop>
<prop key="current_session_context_class">thread</prop>
</props>
</property>
本以为会像预想的那样自动去创建数据库表,但是尝试了很多次都无法成功,在网上也找了好久,后来我猜想是不是spring无法识别这一项参数的设置,所以无法使用相关功能,而后我将hbm2ddl.auto改为hibernate.hbm2ddl.auto,结果一试就成功了,最后的配置为:
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="connection.pool_size">1</prop>
<prop key="current_session_context_class">thread</prop>
</props>
</property>