我如何通过 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 的限制。
我有一个 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 的限制。