在Spring数据中将模式名称添加到实体?

jav*_*999 3 java oracle spring entity-framework spring-data

我使用Oracle DB和时收到错误Spring Data.错误是:

ORA-00942: table or view does not exist
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是我连接的用户无法访问我希望连接到的模式中的表.

我读到这2个修复程序是synonyms在我的数据库中创建或指定schema每个实体/表所属的.

我将首先尝试Schema方法.我该怎么办?

我的例子实体下方,一个兽医架构:

@Entity
@Table(name = "Dog")
public class Dog
{
    @Id
    private String id;

    @Column(name = "NAME")
    private String name;

    @Column(name = "Owner")
    private String owner;

  //getters and setters etc...
Run Code Online (Sandbox Code Playgroud)

Pat*_*ick 9

@Table注释提供了schema属性:

@Table(name = "Dog", schema = "Vet")
Run Code Online (Sandbox Code Playgroud)


J. *_*mel 5

您必须在表格.前面加上模式名称,并在它们之间加上:

@Table(name = "VET.Dog")
Run Code Online (Sandbox Code Playgroud)

  • 当使用默认命名策略时,这可能不起作用。[这个答案](/sf/answers/3708188011/)有一个解决方法,因此休眠不会尝试通过用下划线替换点来清理表名,但我发现建议的解决方案也停止用camelCase替换蛇箱。 (2认同)