看过很多高手写的关于hibernate配置文件中的list问题,但是还有很多地方我还是不太明白,我举个例子.
    有一个"Account"类和一个"Address"类,Account类和Address类是一对多关系,因此我在Account类中写了一个集合"List<Address> addrs = new ArrayList<Address>();",我的老师他是这么说的,在写两个类的关系时,一定要相互的注册其引用,比如我这么写.
    在Account类中:
    public void add(Address address){
        addrs.add(address);
        address.setAccount(this);                             -------------------标记
    }
    ...    在Address类中:
    private Account account;
    public void setAccount(Account account){
        this.account = account;
    }
    public Account getAccount(){
        return account;
    }
    ...    我现在用的是List,怎么在配置文件中(Account.hbm.xml)写<list name=""  ...>
                                                         .........
                                                    </list>
    还有在Address.hbm.xml中怎么写<many-to-one>这个标签?
   
    我写了一个测试类:    Address addr = new Address(...);
                       Account account = new Account(...);
                       account.add(addr);
                       我获得了一个会话,并打开了一个事物,我现在想把它们的关系保存进数据库,
                       session.save(account);我这么写对吗?我看到很多人他们写的类并没有引用对方,是否有必要写引用,也就是我写的“标记”,

解决方案 »

  1.   


    public class Classes {

    private int id;

    private String name;

    private Set<Student> students;
    }public class Student { private int id;

    private String name; private Classes classes;
    }<hibernate-mapping>
    <class name="*.*.Classes" table="t_classes">
    <id name="id">
    <generator class="native"/>
    </id>
    <property name="name"/>
    <set name="students" cascade="all">
    <key column="classNo"/>
    <one-to-many class="*.*.Student"/>
    </set>
    </class>
    </hibernate-mapping><hibernate-mapping>
    <class name="*.*.Student" table="t_student">
    <id name="id">
    <generator class="native"/>
    </id>
    <property name="name"/>
    <many-to-one name="classes" column="classNo"/>
    </class>
    </hibernate-mapping>
      

  2.   

    谢谢你的回复,但是我想用的是<list>来保存student对象,在配置文件中用<list>来一对多,能举个详细的例子,还有你写的例子是单向关联,还是多向的