我如何通过 JHipster 重用现有的 JPA 域对象?

How can I re-use existing JPA domain objects with JHipster?

我有一个 Spring 4.1.0 后端应用程序,其域 classes 在 JPA 中注释(w/Hibernate 4.3.5 作为持久性提供程序)使用 Maven 作为构建工具。我现在想向这个应用程序添加一个 Web 前端,并且正在使用 JHipster。我想重新使用我现有的 JPA 注释域 classes 和 Spring Data JPA repos 与 JHipster,但让 JHipster 为每个域模型创建控制器和视图。我的第一个里程碑目标是从此 Web 应用程序的旧域模型上获得基本的 CRUD 功能。

这是我的域 classes 的示例(城市 class):

package com.my-company.my-spring-app.domain;

import javax.persistence.*;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
 * City generated by hbm2java
 */
@Entity
@Table(name = "city",
     schema = "public",
     uniqueConstraints = @UniqueConstraint(columnNames = "name"))
public class City implements java.io.Serializable {

private static final long serialVersionUID = 4674557242772722625L;

@Id
@SequenceGenerator(name = "city_gen",
                   schema = "public",
                   sequenceName = "city_id_seq")
@GeneratedValue(strategy = GenerationType.SEQUENCE,
                generator = "city_gen")
@Column(name = "id",
        unique = true,
        nullable = false)
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "countryid",
            nullable = false)
// @JoinColumn(name = "country_id", nullable = false)
private Country country;

@Column(name = "name",
        unique = true,
        length = 200)
private String name;
...
}

是否可以重复使用这个 class 和我已经写过的其他 50 多个?如果可以,怎么做?

不,很遗憾,无法重复使用它们。在 jhipster 中,视图是在您生成实体时生成的。解决方案是使用 jhipster:entity 或 jhipster-uml.

重新创建它们

我相信您最多只能重新创建实体,最好使用一些 SCM 提交此版本,然后使用您的 JPA 映射对其进行微调。不完美,但重用现有实体目前是 jhipster 的限制。