2017-03-13 82 views
0

我有這個模型,並且我試圖在jhipster 4和JDLStudio上創建模型來生成實體。兩個關係在一個實體上,jhipster

entity Cliente{ 
    nombre String, 
    apellido String, 
    celular String, 
    telefono String, 
    email String, 
    domicilio String, 
    colegio String 
} 

entity Modelo{ 
    imagen ImageBlob, 
    nombreModelo String, 
    colorVestido String, 
    observacion String 
} 

entity Medida{ 
    contornoBusto Double, 
    anchoPecho Double, 
    altoBusto Double, 
    bajoBusto Double, 
    alturaPinza Double, 
    separacionBusto Double, 
    talleDeltantero Double, 
    talleEspalda Double, 
    largoCorset Double, 
    costado Double, 
    hombro Double, 
    anchoHombro Double, 
    largoManga Double, 
    sisa Double, 
    cintura Double, 
    anteCadera Double, 
    cadera Double, 
    largoPollera Double, 
    fechaMedida LocalDate 
} 

entity Dominio{ 
    descripcion String 
} 
entity ValorDominio{ 
    descripcion String 
} 

entity Encargo{ 
    importeTotal Double, 
    fechaEncargo LocalDate, 
    fechaEntrega LocalDate, 
    detalleVestido String 
} 

entity Pago{ 
    fechaPago LocalDate, 
    importe Double, 
    detalle String, 
    numeroRecibo Integer 
} 


/** 
    * Relacion Una empresa tiene uno o muchos usuarios 
    */ 
relationship OneToMany { 
    Cliente{modelo(nombre)} to Modelo, 
    Cliente{medida(nombre)} to Medida, 
    Cliente{encargo(nombre)} to Encargo, 
    Encargo{pago} to Pago, 
    Dominio{valorDominio(descripcion)} to ValorDominio, 
    ValorDominio{tipoEvento(descripcion)} to Encargo, 
    ValorDominio{estado(descripcion)} to Encargo 
} 

/**relationship OneToOne{ 
*Cliente{user} to User{cliente} 
*} 
*/ 


paginate Cliente with infinite-scroll 

但是當我運行應用程序,我有這個錯誤

Migration failed for change set classpath:config/liquibase/changelog/20170313030953_added_entity_Encargo.xml::20170313030953-1::jhipster: 
    Reason: liquibase.exception.DatabaseException: Duplicate column name 'valor_dominio_id' [Failed SQL: CREATE TABLE Clothes.encargo (id BIGINT AUTO_INCREMENT NOT NULL, importe_total DOUBLE NULL, fecha_encargo date NULL, fecha_entrega date NULL, detalle_vestido VARCHAR(255) NULL, cliente_id BIGINT NULL, valor_dominio_id BIGINT NULL, valor_dominio_id BIGINT NULL, CONSTRAINT PK_ENCARGO PRIMARY KEY (id))] 
    at liquibase.changelog.ChangeSet.execute(ChangeSet.java:619) 

和我的實體Encargo是:

私有靜態最後的serialVersionUID長= 1升;

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

@Column(name = "importe_total") 
private Double importeTotal; 

@Column(name = "fecha_encargo") 
private LocalDate fechaEncargo; 

@Column(name = "fecha_entrega") 
private LocalDate fechaEntrega; 

@Column(name = "detalle_vestido") 
private String detalleVestido; 

@ManyToOne 
private Cliente cliente; 

@ManyToOne 
private ValorDominio tipoEvento; 

@ManyToOne 
private ValorDominio estado; 

@OneToMany(mappedBy = "encargo") 
@JsonIgnore 
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 
private Set<Pago> pagos = new HashSet<>(); 

和我的更新日誌是:

<column name="valor_dominio_id" type="bigint" > 
    <constraints nullable="true" /> 
</column> 

<column name="valor_dominio_id" type="bigint"> 
    <constraints nullable="true" /> 
</column> 

的屬性是:

@ManyToOne 
private ValorDominio tipoEvento; 

@ManyToOne 
private ValorDominio estado; 

我在等待着你的答案。

回答

0

錯誤在於,映射1:n的正確方式是通過給出多邊的「entity_id」列。您的JDL指出從ValorDominoEncargo的單向關係,而ValorDomino是擁有方。所以因此Encargo沒有關於引用實體的視圖,並且迄今爲止沒有辦法區分它。這導致你得到的錯誤。

嘗試將相對移動的:1,定義:

relationshop ManyToOne { 
    Encargo{tipoEventoEncargo} to ValorDominio, 
    Encargo{estadoEncargo} to ValorDominio 
} 

所以加盟勇士多米諾列將在encargo不同

0

謝謝您的回答,我嘗試你的方法,但不工作,

我本想和做工精細,但現在我不得不改變看法get方法diferent數據收取diferent selectItems的

ValorDominio{tipoEvento(descripcion)} to Encargo{tipoEcargo(descripcion)}, 
ValorDominio{estado(descripcion)} to Encargo{estado(descripcion)} 
相關問題