Tranforming a db 1 record row into a vertical table jsf disp
martin3 Nov 19, 2007 4:27 AMHi,
In switching to seam(and POJO's) and keeping with the spirit of seam now being the handy glue from ejb's to jsf based pages, what would be the way to take a query that always produces one record row and then display to the user in columns in a jsf table or data grid? One record field now per jsf row? It is a common thing I do in my old self-deprecated glue and I'm wanting to replace it with seam.
Each field of the Entity now is a row in the display; often put the queries' column title in the first column, second column is the field's value and a third is the units of the value.
@Entity @Name("element") @Table(name = "ELEMENT") @NamedQueries({@NamedQuery(name = "Element.findByElementPk", query = "SELECT e FROM Element e WHERE e.elementPk = :elementPk"), @NamedQuery(name = "Element.findByName", query = "SELECT e FROM Element e WHERE e.name = :name"), @NamedQuery(name = "Element.findByAtomicNumber", query = "SELECT e FROM Element e WHERE e.atomicNumber = :atomicNumber"), @NamedQuery(name = "Element.findByAtomicSymbol", query = "SELECT e FROM Element e WHERE e.atomicSymbol = :atomicSymbol"), @NamedQuery(name = "Element.findByAtomicWeight", query = "SELECT e FROM Element e WHERE e.atomicWeight = :atomicWeight"), @NamedQuery(name = "Element.findByAtomicRadius", query = "SELECT e FROM Element e WHERE e.atomicRadius = :atomicRadius"), @NamedQuery(name = "Element.findByMeltingPoint", query = "SELECT e FROM Element e WHERE e.meltingPoint = :meltingPoint"), @NamedQuery(name = "Element.findByBoilingPoint", query = "SELECT e FROM Element e WHERE e.boilingPoint = :boilingPoint"), @NamedQuery(name = "Element.findByOxidationStates", query = "SELECT e FROM Element e WHERE e.oxidationStates = :oxidationStates"), @NamedQuery(name = "Element.findByElectronConfiguration", query = "SELECT e FROM Element e WHERE e.electronConfiguration = :electronConfiguration")}) public class Element implements Serializable { private static final long serialVersionUID = 1L; @Id @Column(name = "ELEMENT_PK", nullable = false) private Integer elementPk; @Column(name = "NAME") private String name; @Column(name = "ATOMIC_NUMBER") private Short atomicNumber; @Column(name = "ATOMIC_SYMBOL") private String atomicSymbol; @Column(name = "ATOMIC_WEIGHT") private Double atomicWeight; @Column(name = "ATOMIC_RADIUS") private Double atomicRadius; @Column(name = "MELTING_POINT") private Double meltingPoint; @Column(name = "BOILING_POINT") private Double boilingPoint; @Column(name = "OXIDATION_STATES") private Short oxidationStates; @Column(name = "ELECTRON_CONFIGURATION") private String electronConfiguration;
So the jsf table is now three columns labeled:
Parameter Value Units
Name Hydrogen
Atomic Number: 1
Atomic Radius 78 pm
Atomic Symbol H
Melting Point - 259.34 �C
Atomic Weight 1.0079 g/mol
Boiling Point -252.87 �C
Electron Configuration 1s1
Oxidation States 1, -1