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; 此命令删除用户及其下的所有表。