看过很多高手写的关于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);我这么写对吗?我看到很多人他们写的类并没有引用对方,是否有必要写引用,也就是我写的“标记”,
有一个"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);我这么写对吗?我看到很多人他们写的类并没有引用对方,是否有必要写引用,也就是我写的“标记”,
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>