2015-05-12 1 views
0

У меня есть back-end приложение Spring 4.1.0 с доменами, аннотированными в JPA (с Hibernate 4.3.5 в качестве поставщика сохранения), используя Maven в качестве инструмента построения. Теперь я хочу добавить веб-интерфейс к этому приложению и играть с JHipster. Я хочу повторно использовать существующие существующие аннотированные классы домена JPA и репозитории Spring Data JPA с JHipster, но JHipster создает контроллеры и представления для каждой модели домена. Моя первая цель заключается в том, чтобы получить базовую функциональность CRUD на старых моделях домена из этого веб-приложения.Как я могу повторно использовать существующие объекты домена JPA с JHipster?

Вот пример того, что мои классы домена выглядеть (класс City):

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; 
... 
} 

Можно ли повторно использовать этот класс, а другой 50+, что я уже написал? Если да, то как?

ответ

0

Нет, к сожалению, их невозможно использовать повторно. В jhipster представления генерируются при создании объектов. Решение будет воссоздавать их с помощью jhipster: entity или jhipster-uml.

Я считаю, что лучшее, что вы могли бы сделать, могло бы воссоздать сущности, желательно совершить эту версию с помощью некоторого SCM, а затем точно настроить их, используя ваше JPA-сопоставление. Не идеально, но повторное использование существующих объектов в настоящее время является ограничением jhipster.

+0

Спасибо за честный ответ. Мне очень нравится JHipster, но, возможно, сейчас это не правильный выбор для этого проекта. – eljaydub

+0

@jodevan, вышеприведенное обсуждение, похоже, отвечает на мой вопрос, но все еще подтверждает его, поскольку прошло более года. Вы хотите сказать, что невозможно импортировать существующую базу данных вместе с данными в jHipster? – comiventor

+0

Я уверен, что это поведение не изменилось. Создание объектов в JHipster делает много вещей. С обратной точки зрения он создает услуги POJO, DAO, службы, списки изменений в Liquibase, тесты и т. Д. С точки зрения front-end он также создает контроллеры, представления и еще пару вещей. Вот почему JHipster полагается на сущности, созданные с помощью своего генератора. В любом случае вы всегда можете проверить заметки о выпуске и посмотреть, была ли реализована эта функция: [Примечания к выпуску] (https://jhipster.github.io/releases/) – Jodevan