set搞了一个上午,list弄了一下午了,注解都不知道怎么弄package gpf;import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;@Entity
public class Husband {
private int id;
private String name;
private List<Wifes> wifes=new ArrayList<Wifes>();

@Id
@GeneratedValue
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}

@OneToMany(mappedBy="husband",cascade=CascadeType.ALL)
@OrderBy("number desc")
public List<Wifes> getWifes() {
return wifes;
}
public void setWifes(List<Wifes> wifes) {
this.wifes = wifes;
}
}package gpf;import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;@Entity
public class Wifes {
private int id;
private String name;
private int number;
private Husband husband;

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="husb_id")
public Husband getHusband() {
return husband;
}
public void setHusband(Husband husband) {
this.husband = husband;
}

@Id
@GeneratedValue
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration>
    <session-factory>
    
<!--<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:example</property>
        <property name="connection.username">scott</property>
        <property name="connection.password">tiger</property>
     <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
    
        -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        
        <property name="connection.pool_size">1</property>
        
        <property name="current_session_context_class">thread</property>        <property name="format_sql">true</property>
        <property name="show_sql">true</property>        <mapping class="gpf.Husband"/>
<mapping class="gpf.Wifes"/>
    </session-factory>
</hibernate-configuration>
package gpf;import java.util.List;
import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.Test;public class testSET {

@Test
public void save(){
Husband husband = new Husband();
husband.setName("丈夫1");
Wifes wifes1 = new Wifes();
Wifes wifes2 = new Wifes();
wifes1.setName("妻子1111111");
wifes2.setName("妻子2");
wifes1.setHusband(husband);
wifes2.setHusband(husband);
Session session = new AnnotationConfiguration().configure().buildSessionFactory().openSession();
session.beginTransaction();
session.save(wifes1);
session.save(wifes2);
session.getTransaction().commit();
}
}得到的number字段总是默认值0,不能排序啊,如何办呢

解决方案 »

  1.   

    楼主太邪恶了,竟然能搞一夫多妻...
    你那个存数据库的时候,number都没设值,肯定是默认的值0了啊。
      

  2.   

    嘿嘿,那要怎么配呢,xml中有个<list-index>,但是注解始终找不到方法哦
      

  3.   

    把Hibernate自动生成的SQL贴出来
    如果有异常,把异常的栈 贴出来
      

  4.   

    我看半天不知道跟number 有什么关系啊!!LS要实现个什么东东啊