0

編集可能な主キーを持つエンティティの crud を生成したいのですが、forge は @id フィールドを生成しません。これは私のエンティティです。id フィールドは文字列であり、自動インクリメント ID フィールドではないことに注意してください。

package com.samples.model;

// Generated 14/01/2013 11:23:23 AM by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Pais generated by hbm2java
 */
@Entity
@Table(name = "pais", schema = "public")
public class Pais implements java.io.Serializable
{

   /**
   * 
   */
   private static final long serialVersionUID = -8369022633869576848L;
   private String paisId;
   private Date fechaRegistro;
   private String descripcion;
   private short estatus;
   private Set<Estado> estados = new HashSet<Estado>(0);

   public Pais()
   {
   }

   public Pais(String paisId, Date fechaRegistro, short estatus)
   {
      this.paisId = paisId;
      this.fechaRegistro = fechaRegistro;
      this.estatus = estatus;
   }

   public Pais(String paisId, Date fechaRegistro, String descripcion, short estatus, Set<Estado> estados)
   {
      this.paisId = paisId;
      this.fechaRegistro = fechaRegistro;
      this.descripcion = descripcion;
      this.estatus = estatus;
      this.estados = estados;
   }

   @Id
   @Column(name = "pais_id", unique = true, nullable = false, length = 5)
   public String getPaisId()
   {
      return this.paisId;
   }

   public void setPaisId(String paisId)
   {
      this.paisId = paisId;
   }

   @Temporal(TemporalType.TIMESTAMP)
   @Column(name = "fecha_registro", nullable = false, length = 29)
   public Date getFechaRegistro()
   {
      return this.fechaRegistro;
   }

   public void setFechaRegistro(Date fechaRegistro)
   {
      this.fechaRegistro = fechaRegistro;
   }

   @Column(name = "descripcion", length = 30)
   public String getDescripcion()
   {
      return this.descripcion;
   }

   public void setDescripcion(String descripcion)
   {
      this.descripcion = descripcion;
   }

   @Column(name = "estatus", nullable = false)
   public short getEstatus()
   {
      return this.estatus;
   }

   public void setEstatus(short estatus)
   {
      this.estatus = estatus;
   }

   @OneToMany(fetch = FetchType.LAZY, mappedBy = "pais")
   public Set<Estado> getEstados()
   {
      return this.estados;
   }

   public void setEstados(Set<Estado> estados)
   {
      this.estados = estados;
   }

}
4

1 に答える 1

1

JBoss Forge はUI 生成にMetawidgetを使用します。したがって、これを実現するには、Forge の metawidget.xml 構成ファイルを変更する必要があります。

Forge には、実際には 3 つの Metawidget 構成ファイルがあります。画面の表示/編集用の metawidget-entity.xml、検索フィルター用の metawidget-search.xml、および Java コードの生成用の metawidget-qbe.xml です。

この目的のために、metawidget-entity.xml を変更する必要があります。具体的には、JpaInspector エントリを見つける必要があります...

<jpaInspector xmlns="java:org.metawidget.inspector.jpa" config="JpaInspectorConfig">

...そして子ノードを追加...

<hideIds><boolean>false</boolean></hideIds>

そのビットは簡単なはずです。ただし、実際に変更した metawidget-entity.xml を Forge に戻すのは面倒です。現時点でおそらく最も簡単な方法は、forge-scaffold-faces.jar 自体を解凍して変更することです。今後の Forge リリースでこれがより明確になることを願っています。

于 2013-01-15T02:09:36.693 に答える