首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate注解配置集合映射list,该如何处理

2012-03-11 
hibernate注解配置集合映射listset搞了一个上午,list弄了一下午了,注解都不知道怎么弄Java codepackage gp

hibernate注解配置集合映射list
set搞了一个上午,list弄了一下午了,注解都不知道怎么弄

Java code
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;@Entitypublic 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;    }}

Java code
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;@Entitypublic 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 code
<?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> 


Java code
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,不能排序啊,如何办呢

[解决办法]
藐似注解有点问题。
[解决办法]
楼主太邪恶了,竟然能搞一夫多妻...
你那个存数据库的时候,number都没设值,肯定是默认的值0了啊。
[解决办法]
报错,看异常。。。追根溯源。。。
[解决办法]
把Hibernate自动生成的SQL贴出来
如果有异常,把异常的栈 贴出来
[解决办法]
我看半天不知道跟number 有什么关系啊!!LS要实现个什么东东啊

热点排行