hibernate.hbm2ddl.auto 属性设置为true,但是不能生成数据库表
hibernate.cfg.xml配置如下<hibernate-configuration><session-factory><propertyname="hiberna...
hibernate.cfg.xml配置如下
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:zy</property>
<property name="hibernate.connection.username">tom</property>
<property name="hibernate.connection.password">aaaaaa</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="net/huadong/exammis/pojo/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
看网上说这样配置hibernate.hbm2ddl.auto属性以后会自动生成且更新数据库表,但是我的不能生成,也没有任何错误提示,请各位大哥帮忙分析下原因
回一楼,我尝试过用create了,也不能生成表,不知道为什么,tomcat正常启动没报错。 展开
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:zy</property>
<property name="hibernate.connection.username">tom</property>
<property name="hibernate.connection.password">aaaaaa</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="net/huadong/exammis/pojo/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
看网上说这样配置hibernate.hbm2ddl.auto属性以后会自动生成且更新数据库表,但是我的不能生成,也没有任何错误提示,请各位大哥帮忙分析下原因
回一楼,我尝试过用create了,也不能生成表,不知道为什么,tomcat正常启动没报错。 展开
5个回答
展开全部
update只是更新表结构,但不能生成
请仔细参考一下hibernate.hbm2ddl.auto的配置参数,有以下四种:
validate:加载hibernate时,验证创建数据库表结构
create:每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop:加载hibernate时创建,退出是删除表结构
update:加载hibernate自动更新数据库结构
所以,你可以先用create属性,然后运行一次后改用update,以免数据丢收
请仔细参考一下hibernate.hbm2ddl.auto的配置参数,有以下四种:
validate:加载hibernate时,验证创建数据库表结构
create:每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop:加载hibernate时创建,退出是删除表结构
update:加载hibernate自动更新数据库结构
所以,你可以先用create属性,然后运行一次后改用update,以免数据丢收
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
链接串改为jdbc:oracle:thin:tom/aaaaaa@localhost:1521:zy试试吧,
oracle的链接有点变态。
oracle的链接有点变态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我遇到的问题是Mysql版本问题:
5.5以下
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
我的是5.7,用这个可以
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
5.5以下
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
我的是5.7,用这个可以
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过sql语句去创建吧。用这个配置,不能对单个表进行操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将值设置为 update 就可以自动生成数据表了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询