Hibernate自动创建数据库表无法创建到登录用户空间而是创建到System空间
程序员文章站
2024-02-12 18:38:52
...
Hibernate自动创建数据库表无法创建到登录用户空间而是创建到System空间
问题描述:Hibernate自动创建数据库表无法创建到登录用户空间而是创建到System空间
登录用户:penw
最近项目开展二期,数据库需要由Mysql转移到Oracle,因此需重构实体类来实现hibernate自动创建表格功能。
简单的举个例子,用户、角色、权限、以及他们之间的中间表:
@ManyToMany(targetEntity = Power.class, cascade = { CascadeType.PERSIST,
CascadeType.MERGE })
@JoinTable(name = "ACC_ROLE_POWER", joinColumns = { @JoinColumn(name = "role_id") }, inverseJoinColumns = { @JoinColumn(name = "power_id") }, uniqueConstraints = @UniqueConstraint(columnNames = {
"role_id", "power_id" }))
实体类编写完毕,但是当我启动服务器的时候,发现所有的表格都跑到System这个用户表空间下面去了,而不再我指定的用户下面,,经检查,发现Oracle和Mysql不一样,需在注解里面添加schema="penw"来指定空间,所以添加之后,顺利解决问题。
代码如下: