【问题标题】:Populate postgres database with sample data使用示例数据填充 postgres 数据库
【发布时间】:2018-04-09 19:58:57
【问题描述】:

我在 postgresql 数据库中有 3 个实体。

@Entity
public class dog{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "dog_id")
private Integer id;

private String name;
private int age;
}

@Entity
public class cat{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "cat_id")
private Integer id;

private String name;
private String sex;
}

@Entity
public class Shelter{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;

@ManyToOne(targetEntity = dog.class)
@JoinColumn(name = "dog_id", columnDefinition = "serial")
private Integer dog_id;

@ManyToOne(targetEntity = cat.class)
@JoinColumn(name = "cat_id", columnDefinition = "serial")
private Integer cat_id;

private int freeSpace;
}

填充数据库的最佳方法是什么?我需要大约 1000 条测试记录。我想保持特定价值观之间的关系。我曾尝试通过 pgAdmin 编写查询,但没有机会创建关系。

【问题讨论】:

    标签: database spring postgresql hibernate populate


    【解决方案1】:

    如果您使用的是 Spring Boot,则可以在项目的 src/main/resources 文件夹中创建一个 data.sql 文件,其中包含要用于填充数据库的 SQL INSERT 语句。参考:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html#howto-initialize-a-database-using-spring-jdbc

    【讨论】:

    • 如何设置实体之间的关系?外键等
    • 由于您使用的是 Hibernate,您应该能够在启动时将 spring.jpa.hibernate.ddl-auto 属性设置为 create,这将使用您的注释来生成数据库模式。 (参考:docs.spring.io/spring-boot/docs/current/reference/html/…
    猜你喜欢
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多