解决使用Oracle数据库,项目启动由于表原因无法成功启动问题

    1.仔细看异常信息,如果出现一个  翻译过来是 不仅仅这一张表,那就说明,在连接数据库,定位到表的时候有多张表,不知道连哪一张。

      原因: 有多个用户,这两个用户下有相同的表。 就算是在不同的表空间也不行。  本人猜测在不同的实例下应该是可以存在同样的两张表。

      解决办法;删掉多余的用户及其下的表,或者删除此用户下相同的表就行。

    2.在使用hibernate进行自动建表的时候,需要有权限,一般设置个dba权限比较好。

    

    3.spring boot 集成 hibernate 进行开发的时候,在配置文件中设置jpa 的其中三种值 :   create    update   drop    

        create : 表示启动项目后,加载hibernate时候,会先删除原先库中的表,再进行创建

        update :hibernate在第一次加载的时候创建表,后面再加载的话,表示进行比较,可以修改创建新表,但不删除。

        drop: 每次停止项目,删除所有hibernate已建表。

        Oracle在删除和创建用户的时候需要再dba下进行:

        Linux下;    su  - oracle 

             sqlplus   /   as   sysdba;  以dba登录

             创建用户前,先建表空间:    create  tablespace  表空间名  datafile  'dbf文件路径(此路径的目录必须已存在)'  size    100M;

             创建用户    create  user  用户名  identityfied by  密码  default  tablespace  表空间名;

                                          授权:   grant  dba  to   用户名;给用户授dba角色权限

               grant  connect ,resource  to  用户名  ;普通权限  这个其实是赋予了一个角色,通过角色间接授权

           删除用户:drop user  用户名  cascade;  此命令删除用户及其下的所有表。

猜你喜欢

转载自www.cnblogs.com/wbqcheng/p/9998298.html