首页 新闻 会员 周边

Spring Boot,动态生成、编译、加载实体类,并根据实体类生成对应的数据库表。

0
悬赏园豆:30 [待解决问题]

现在做到前半句话,就是不能根据实体类生成数据库表。有人重新运行一下entitymanager,不知道怎么写。求助中。

枫雨桐的主页 枫雨桐 | 初学一级 | 园豆:134
提问于:2017-05-16 17:17
< >
分享
所有回答(2)
0

参考 http://git.oschina.net/wushifeng/springboot/blob/master/readinglist/src/main/resources/application.yml?dir=0&filepath=readinglist%2Fsrc%2Fmain%2Fresources%2Fapplication.yml&oid=704092bfe57ac9146830b79448285fe39b7f22bb&sha=47b22c409ce0431832001757e128219de4ec9c02 这个工程里有个电子书比较详细的讲解了

主要是、设置下jpa:hibernate:ddl-auto: 的值

 
其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库表结构。如果不是此方面的需求建议set value="none"。

create:
每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
create-drop :
每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
update:
最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等 应用第一次运行起来后才会。
validate :
每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

2012 | 园豆:21230 (高人七级) | 2017-05-17 08:33
0

你用jpa就可以了啊

全力以赴001 | 园豆:629 (小虾三级) | 2017-05-17 15:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册