解决使用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;? 此命令删除用户及其下的所有表。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |