zhangjingqiang 发表于 2013-1-30 01:38:06

导入Hibernate

src\chap06app:
Main.java
package chap06app;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.AnnotationConfiguration;public class Main{public static void main( String[] args ){SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();try{// t_prefにTokyoとChibaがすでに入っているものとする。// Tokyoを見つけるList<Pref> tokyoList = session.createQuery( "from Pref pref where pref.pref like 'Tokyo'" ).list();Pref tokyoPref;if( tokyoList.size() == 1 ){tokyoPref = (Pref)tokyoList.get( 0 );}else{throw new UnsupportedOperationException( "Tokyo not found!");}System.out.println( "tokyoPref id: " + tokyoPref.getId() );System.out.println( "TokyoPref pref: " + tokyoPref.getPref() );Address okadaAddr = new Address();okadaAddr.setName( "Okada" );okadaAddr.setPref( tokyoPref );okadaAddr.setAddress( "Edogawaku 1-2-3" );session.save( okadaAddr );tx.commit();}catch( HibernateException he ){if( tx != null ){ tx.rollback(); }}finally{session.close();sf.close();}}}Pref.java
package chap06app;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;}}Address.java
package chap06app;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.ManyToOne;import javax.persistence.Table;@Entity@Table(name = "t_address2", schema = "public")public class Address implements java.io.Serializable {private int id;private Pref pref;private String name;private String address;public Address() {}public Address(int id, Pref pref, String name, String address) {this.id = id;this.pref = pref;this.name = name;this.address = address;}@Id@Column(name = "id", unique = true, nullable = false)public int getId() {return this.id;}public void setId(int id) {this.id = id;}@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "pref_id_fk", nullable = false)public Pref getPref() {return this.pref;}public void setPref(Pref pref) {this.pref = pref;}@Column(name = "name", nullable = false)public String getName() {return this.name;}public void setName(String name) {this.name = name;}@Column(name = "address", nullable = false)public String getAddress() {return this.address;}public void setAddress(String address) {this.address = address;}}src\out:
TAddress.java
// default package// Generated 2009/01/29 0:32:15 by Hibernate Tools 3.2.1.GAimport javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;/** * TAddress generated by hbm2java */@Entity@Table(name = "t_address", schema = "public")public class TAddress implements java.io.Serializable {private int id;private String name;private int pref;private String address;public TAddress() {}public TAddress(int id, String name, int pref, String address) {this.id = id;this.name = name;this.pref = pref;this.address = address;}@Id@Column(name = "id", unique = true, nullable = false)public int getId() {return this.id;}public void setId(int id) {this.id = id;}@Column(name = "name", nullable = false)public String getName() {return this.name;}public void setName(String name) {this.name = name;}@Column(name = "pref", nullable = false)public int getPref() {return this.pref;}public void setPref(int pref) {this.pref = pref;}@Column(name = "address", nullable = false)public String getAddress() {return this.address;}public void setAddress(String address) {this.address = address;}}TAddress2.java
// default package// Generated 2009/01/29 0:32:15 by Hibernate Tools 3.2.1.GAimport javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.ManyToOne;import javax.persistence.Table;/** * TAddress2 generated by hbm2java */@Entity@Table(name = "t_address2", schema = "public")public class TAddress2 implements java.io.Serializable {private int id;private TPref TPref;private String name;private String address;public TAddress2() {}public TAddress2(int id, TPref TPref, String name, String address) {this.id = id;this.TPref = TPref;this.name = name;this.address = address;}@Id@Column(name = "id", unique = true, nullable = false)public int getId() {return this.id;}public void setId(int id) {this.id = id;}@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "pref_id_fk", nullable = false)public TPref getTPref() {return this.TPref;}public void setTPref(TPref TPref) {this.TPref = TPref;}@Column(name = "name", nullable = false)public String getName() {return this.name;}public void setName(String name) {this.name = name;}@Column(name = "address", nullable = false)public String getAddress() {return this.address;}public void setAddress(String address) {this.address = address;}}TPref.java
// default package// Generated 2009/01/29 0:32:15 by Hibernate Tools 3.2.1.GAimport 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;/** * TPref generated by hbm2java */@Entity@Table(name = "t_pref", schema = "public")public class TPref implements java.io.Serializable {private int id;private String pref;private Set<TAddress2> TAddress2s = new HashSet<TAddress2>(0);public TPref() {}public TPref(int id, String pref) {this.id = id;this.pref = pref;}public TPref(int id, String pref, Set<TAddress2> TAddress2s) {this.id = id;this.pref = pref;this.TAddress2s = TAddress2s;}@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 = "TPref")public Set<TAddress2> getTAddress2s() {return this.TAddress2s;}public void setTAddress2s(Set<TAddress2> TAddress2s) {this.TAddress2s = TAddress2s;}}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">okada</property>      <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/Chap04DB</property>      <property name="hibernate.connection.username">okada</property>      <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>      <property name="hibernate.show_sql">true</property>      <mapping class="TAddress2" />      <mapping class="TAddress" />      <mapping class="TPref" />    </session-factory></hibernate-configuration>src:
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.connection.driver_class">org.postgresql.Driver</property>      <property name="hibernate.connection.password">okada</property>      <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/Chap04DB</property>      <property name="hibernate.connection.username">okada</property>      <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>      <property name="hibernate.show_sql">true</property><mapping class="chap06app.Address"/>      <mapping class="chap06app.Pref"/>    </session-factory></hibernate-configuration>代码来自日本的技术图书:http://www.shuwasystem.co.jp/products/7980html/2197.html
页: [1]
查看完整版本: 导入Hibernate