spring+hibernate无法自动创建表

澹若水/漠 2015-07-24 05:24:42
最近研究spring+hibernate,该添加的jar包都添加了,配置也没问题,启动也没报错,可是就是无法创建表,spring的applicationContext.xml配置如下:
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hbm2ddl.auto">create</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>
求大牛告诉我如何解决,非常感谢!
...全文
866 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jayaxn 2017-07-22
  • 打赏
  • 举报
回复
是不是applicationContext.xml中的文件中配置SessionFactory的包和在dao里继承的包不一样
gujunjian19900106 2016-02-08
  • 打赏
  • 举报
回复
少年, <prop key="hibernate.hbm2ddl.auto">create</prop> 这句话别忘记加 hibernate 。否则Spring是读不出来的。 你这个<prop key="hbm2ddl.auto">create</prop>在没有Spring的时候是没问题的。
飞翔的香蕉皮 2016-02-02
  • 打赏
  • 举报
回复
看不下去了,简单补充哈知识: update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。 create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。 create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。 validate : 每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
  • 打赏
  • 举报
回复
请问您解决了吗,我遇到一样的问题
Vasari 2015-08-12
  • 打赏
  • 举报
回复
在springmvc框架下配置好hibernate还要在实体类中添加注释
澹若水/漠 2015-08-06
  • 打赏
  • 举报
回复
我也是单独使用hibernate框架就可以生成,和spring集成后就不行了,不知道为什么,谢谢你,我再看看吧
  • 打赏
  • 举报
回复
另外说明一下,上面是我表生成好后改为update的,如果你要创建要改成create的
  • 打赏
  • 举报
回复

 <property name="hibernate.connection.url">jdbc:mysql://localhost/myfirstweb</property>  
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
        <property name="hibernate.connection.username">root</property>  
        <property name="hibernate.connection.password">admin</property>  
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
        <property name="hibernate.show_sql">true</property>  
        <property name="hibernate.hbm2ddl.auto">update</property>  
        <property name="connection.autocommit">true</property>  
这是我在配置hibernate时用的,但是没有把这些东西也集成到spring中,你看看是不是属性名称hibernate.hbm2ddl.auto之前加上这个hibernate,或者其他属性名的问题。希望能帮上忙
A1324705312 2015-08-03
  • 打赏
  • 举报
回复
正向生成和反向生成,你怎么也得建一个在生成啊
澹若水/漠 2015-08-03
  • 打赏
  • 举报
回复
无语死了,使用hibernate你还手动创建表的话那还要这个框架干嘛
lalalazz 2015-07-31
  • 打赏
  • 举报
回复
可以啊, 也可以先创建实体类 在自动生成数据库表
三儿样 2015-07-31
  • 打赏
  • 举报
回复
不都是先建表在自动生成Entity吗
lalalazz 2015-07-31
  • 打赏
  • 举报
回复
你的myeclipse 连上数据库才可以 创建表, 用DB Browser 连
澹若水/漠 2015-07-28
  • 打赏
  • 举报
回复
可否具体点,谢谢了
anzirain1 2015-07-28
  • 打赏
  • 举报
回复
DB Browser
bartholomew4 2015-07-27
  • 打赏
  • 举报
回复
HibernateSessionFactory.java 漏说了这个类。。。。。好像hibernate需要有这个类才会在项目内映射和反映射实体。。。。。。。。不然只能使用双方都存在的实体
bartholomew4 2015-07-27
  • 打赏
  • 举报
回复
1.检查数据库权限 2.检查数据库对应的方言 3.检查配置是否惰加载,是的调用下用到这张表的代码就好了 基本容易犯错的就这些了,低级错误相信你不会犯。。。
澹若水/漠 2015-07-27
  • 打赏
  • 举报
回复
好的,我试试,谢谢你
「已注销」 2015-07-27
  • 打赏
  • 举报
回复
你把方言换一下, 看一下可以吗, 不行的话, 我也没办法了 <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
澹若水/漠 2015-07-27
  • 打赏
  • 举报
回复
就是公司内网和外网分开着呢,否则我就直接把我的配置贴出来了,哎~郁闷
加载更多回复(4)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧