konto usunięte
Temat: jsf+ hibernate- mapowanie relacyjne
public class Bid {private Integer bidId;
private String amount;
private Item item;
public Bid() {
}
=============================================
public class Item{
private Integer itemId;
private String name;
private String descr;
private Set<Bid> bidSet;
public Item() {
}
=============================================
oczywiscie sa gety i setery,
=============================================
<hibernate-mapping>
<class name="model.Bid" table="bid">
<id column="bid_id" name="bidId" type="int"/>
<property column="amount" name="amount" not-null="true" type="string"/>
<many-to-one column="item_id" name="item" not-null="true"/>
</class>
<class name="model.Item" table="item">
<id column="item_id" name="itemId" type="int"/>
<property column="name" name="name" not-null="true" type="string"/>
<property column="descr" name="descr" not-null="true" type="string"/>
<set name="bidSet" cascade="all" inverse="true" >
<key column="item_id"/>
<one-to-many class="model.Bid"/>
</set>
</class>
</hibernate-mapping>
=============================================
@ManagedBean
@RequestScoped
public class Bean {
public Bean() {
}
public List<Bid> getBid() {
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.openSession();
List<Bid> pp =(List<Bid>)s.createQuery("SELECT b FROM Bid b").list();
s.close();
return pp;
}
=============================================
<f:view>
<h:form>
<h:dataTable value="#{Bean.bid}" var="bi" border="1" >
<h:column>
<h:outputText value="#{bi.amount}"/>
</h:column>
<h:column>
<h:outputText value="#{bi.bidId}"/>
</h:column>
</h:dataTable>
</h:form>
</f:view>
=============================================
Nie wiem jak zrobić metodę w Bean żeby pobierała dane z dwóch tabel (za pomocą inner join). I jak już pobierze jak to wykorzystać i wyświetlić w jsf. Pobiera i wyświetla dane tylko z jednej tabeli.
Pozdrawiam