how2j.cn

步骤 1 : 自动生成表结构   
步骤 2 : 自动生成表结构 失效的处理   

步骤 1 :

自动生成表结构

edit
在applicationContext.xml的sessionFactory中配置了有
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=false
hbm2ddl.auto=update
</value>
</property>

其中hbm2ddl.auto=update就表示是自动更新表结构,不需要手段创建的变更。
步骤 2 :

自动生成表结构 失效的处理

edit
但是有的时候,会失效,不能够自动生成表结构。
需要在sessionfactory中加这么一句:
<property name="schemaUpdate">
<value>true</value>
</property>

即可使用
<bean name="sf" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="ds" /> <property name="mappingResources"> <list> <value>com/pojo/Admin.hbm.xml</value> </list> </property> <property name="schemaUpdate"> <value>true</value> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.show_sql=false hbm2ddl.auto=update </value> </property>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<bean name="sf"
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="dataSource" ref="ds" />
   <property name="mappingResources">
       <list>
           <value>com/pojo/Admin.hbm.xml</value>
       </list>
   </property>
   <property name="schemaUpdate"
       <value>true</value
   </property>         
   <property name="hibernateProperties">
       <value>
           hibernate.dialect=org.hibernate.dialect.MySQLDialect
           hibernate.show_sql=false
           hbm2ddl.auto=update
       </value>
   </property>


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2019-07-09 求助:自动建表失败,哪位骚年帮忙分析分析啊
biteme




用的mysql-connector是8.0版本的。


4 个答案

丹心
答案时间:2022-12-19
可能是你的mysql-connector版本不对,你换成5.0的试一试

biteme
答案时间:2019-07-13
hbm2ddl.auto=update改成hibernate.hbm2ddl.auto=update也试过了,没效果啊,至于是不是因为查询时表不会自动建就不知道了

枭十二
答案时间:2019-07-12
而且你这错误是因为执行查询时表不存在,好像查询时表不会自动建,添加数据时才会自动建表

枭十二
答案时间:2019-07-12
把16行的 hbm2ddl.auto=update 改成 hibernate.hbm2ddl.auto=update 然后再试试



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢


2017-10-07 关于自动更新表结构问题
iloveyou无望

表结构不是我们在数据库里面写的东西吗,加了这些代码是不是表示创建表结构的步骤由框架来完成?那框架又怎么会知道哪些要索引,哪些有主外键关系? <property name="schemaUpdate"> <value>true</value> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.show_sql=false hbm2ddl.auto=update </value> </property>




1 个答案

慢慢强大
答案时间:2018-02-28
在hibernate配置文件中可以配置表与表之间的关联关系



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢





提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢