hibernateでテーブルのデータをループしてデータを取得しようと思います。
下記の通り、1件だけだと取得するのですがループして取得させるにはどうすれば
出来ますか?
因みにfor文やwhileで書いてもエラーになります。どなたかお教えいただけませんか?
テーブル(t_pref)
id pref
1 Tokyo
2 Chiba
main.jsp(ソース) 1 Tokyoは取得表示可能
<%@ page pageEncoding="Windows-31J"%>
<%@ page import="java.util.List" %>
<%@ page import="org.hibernate.HibernateException" %>
<%@ page import="org.hibernate.Session" %>
<%@ page import="org.hibernate.SessionFactory"%>
<%@ page import="org.hibernate.Transaction" %>
<%@ page import="org.hibernate.cfg.AnnotationConfiguration" %>
<%@ page import="bookstore.pbean.Pref"%>
<%
SessionFactory sf = new AnnotationConfiguration(). configure().buildSessionFactory();
Session sess = sf.openSession();
Transaction tx = sess.beginTransaction();
List<Pref> tokyoList = sess.createQuery( "from Pref" ).list();
Pref tokyoPref;
tokyoPref=(Pref)tokyoList.get(0);
%>
Pref.java(ソース)
package bookstore.pbean;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = "t_pref", schema = "public")
public class Pref implements java.io.Serializable {
private int id;
private String pref;
// private Set<Address> TAddresses = new HashSet<Address>(0);
public Pref() {}
public Pref(int id, String pref) {
this.id = id;
this.pref = pref;
}
// public Pref(int id, String pref, Set<Address> TAddresses) {
// this.id = id;
// this.pref = pref;
// this.TAddresses = TAddresses;
// }
@Id @Column(name = "id", unique = true, nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @Column(name = "pref", nullable = false) public String getPref() { return this.pref; } public void setPref(String pref) { this.pref = pref; }
// @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pref")
// public Set<Address> getTAddresses() {
// return this.TAddresses;
// }
// public void setTAddresses(Set<Address> TAddresses) {
// this.TAddresses = TAddresses;
// }
}
hibernate.cfg.xml(内容)
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.bytecode.use_reflection_optimizer">false</property> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.password">hy0958</property> <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/chap04db</property> <property name="hibernate.connection.username">yumoto</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="hibernate.search.autoregister_listeners">false</property> <mapping class="bookstore.pbean.Pref" /> <mapping class="bookstore.pbean.Address" /> </session-factory> </hibernate-configuration>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/10/01 14:58
2016/10/01 15:27