Hibernate用前缀(public)创建了postgreSQL表。

时间:2016-08-11 09:52:02

标签: java postgresql hibernate

我使用hibernate从类创建postgreSQL表。

所有创建的表都命名为: public.xyz

例如,如果名为 student 的实体,则创建的表名称为 public.student

班级代码:

@Entity(name="STUDENT")

@SequenceGenerator
(name = "default_sequence", sequenceName = "STUDENT_SEQUENCE", allocationSize = 1)

public class Student extends BaseModel { ... }

2 个答案:

答案 0 :(得分:4)

.字符前面的前缀表示表所在的架构。

在postgreSQL中,与大多数SQL数据库一样,在创建表时,可以指定表的所属模式。
在postgreSQL案例中,如果未指定架构,则默认使用的架构是public架构。它是在任何postgreSQL数据库中自动创建的模式。

  

默认情况下,会自动放置此类表(和其他对象)   进入一个名为" public"的模式。每个新数据库都包含这样的   架构。

来源:postgreSQL documentation

答案 1 :(得分:2)

点之前的文本不是字面名称,它是模式的名称。 public 是Postgres的默认架构 - https://www.postgresql.org/docs/8.1/static/ddl-schemas.html