-1
の別のリストから来たオブジェクトのアイテムは、このエンティティClienteを持ち、Telefonosとの関係OneToManyを持っています。JSF
@Entity
public class Cliente implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
@Column(name = "id", unique = true)
private String id;
private String nombre;
private String direccion;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "idTipoCliente")
@NotNull
private ClienteTipo tipo;
@OneToMany
@JoinColumn(name="idCliente", referencedColumnName="id")
private List<Telefono> telefonos;
public List<Telefono> getTelefonos() {
return telefonos;
}
public void setTelefonos(List<Telefono> telefonos) {
this.telefonos = telefonos;
}
public Cliente() {
}
public Cliente(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public ClienteTipo getTipo() {
return tipo;
}
public void setTipo(ClienteTipo tipo) {
this.tipo = tipo;
}
}
私はこのように私のdataTableの項目を取得します。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head>
<title>Catalogo de Clientes</title>
</h:head>
<h:body>
<label>Nombre:</label>
<h:inputText value=""/>
<h:dataTable value="${clientesView.getClientes()}" var="cliente">
<h:column>
<f:facet name="header">Nombre</f:facet>
${cliente.nombre}
</h:column>
<h:column>
<f:facet name="header">Direccion</f:facet>
${cliente.direccion}
</h:column>
<h:column>
<f:facet name="header">Tipo Cliente</f:facet>
${cliente.tipo.descripcion}
</h:column>
</h:dataTable>
</h:body>
</html>
各Clienteは、私は同じ列にそれを印刷できるか、telefonosのリストを持って、私は新しい時間作成しようとしました:列が、リストをreconoize doesntの:HへのdataTableを。
<h:column>
<f:facet name="header">Telefonos</f:facet>
<h:dataTable value="${cliente.telefonos}" var="tel">
<h:column>
<f:facet name="hader">Descripcion</f:facet>
${tel.descripcion}
</h:column>
</h:dataTable>
${cliente.tipo.descripcion}
</h:column>