0

如果假设我们有三个实体的实体 UserProfile { firstname String lastname String } 对于上面的实体主键会自动生成,就像我们有另一个实体一样 实体 SomeTest { unittest String } entity Work{ correction String }

对于上述实体的主键将自动生成,所以现在在用户配置文件实体中,我们有两个用户记录,一个是学生,另一个是老师,在某些测试实体中,我们有一个记录有键的测试记录,所以现在我该如何创建与添加用户配置文件(学生和教师主键)和一些测试主键到工作实体的关系。请您写下将用户配置文件和 SomeTest 实体主键添加到工作实体的关系吗?ans like (relationship OneToMany{}) 以及它将是什么关系,为什么?

4

1 回答 1

0

你好@ChaitanyaChowdary Divi,

据我了解,你的流程是这样的,

UserProfile( userid(pk) ) UnitTest( testid(pk) ) WorkOrder( userid(fk-一对多), testid(fk-一对一) )

正确的!!!

如果它是正确的,那么你应该按照这种方式,

Jhipster 提供了三种方式来生成关系。

  1. 在创建 JDL 文件时。
  2. 在使用终端命令行添加新实体时。
  3. 通过编辑现有实体类和更改日志表手动执行。

案例 1:单向关系

relationship ManyToOne {
  WorkOrder{userid} to UserProfile
}

注意:如果您使用 OneToMany(reverse order),则可以定义父表的字段名称。

relationship OneToOne {
  UnitTest{testid} to UserProfile{testid}
}

案例 2:使用终端添加 - 命令行

yo jhipster:entity entityName
  • 添加必要的字段
  • 最后询问关系定义表名和相应列的名称
  • 当询问覆盖选项时,选择“否”

案例3:手动添加编码,

  • 在实体文件中添加关系。

@OneToOne(mappedBy = "UnitTest")

@JsonIgnore

私有单元测试单元测试;

  • 在 DTO 中进行适当的更改。
  • 在 XML 文件中添加列块。

    资源 -> 配置 -> liquibase -> 变更日志 -> entity.xml

    <changeSet id="add specialization column" author="jhipster">
            <addColumn tableName="specialization">
                <column name="specialization_id" type="bigint">
                    <constraints nullable="false"></constraints>
                </column>
            </addColumn>
        </changeSet>
    
  • 在 JSON 文件中也应用此更改。

/.jhipster/entity.json
{“relationshipType”:“多对一”,“relationshipName”:“specialization”,“otherEntityName”:“specialization”,“otherEntityField”:“id”},

  • 执行清理、构建、运行操作。这次它得到了changelog的错误, Copy the new changelog id 转到你的数据库changelog表执行更新命令并用新的id替换旧的id。
  • 执行清理、构建、运行操作。
于 2018-07-03T08:49:21.937 回答