电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

list与iterator区别多双向关联配置


发布日期:2019/12/19
 

对于Query接口的list()方法与iterator()方法来说都可以实现获取查询的对象但是list()方法返回的每个对象都是完整的(对象中的每个属性都被表中的字段填充上了)而iterator()方法所返回的对象中仅包含主键值(标示符)只有当对iterator()中的对象进行操作时hibernate才会向数据库再次发送sql语句来获取该对象的属性值

一对多双向关联配置customer与order一对多的关系

[java]

public class Customer {

private Long id;

private String name;

private Set<Order> orders;//一对多通过该变量可以引用到对应Order集合对象

…get/set方法省略

}

[java]

public class Order {

private Long id;

private String orderNumber;

private Customer customer;//多对一通过该变量可以引用到关联的customer对象

…get/set方法省略

}

Customerhbmxml

[html]

<hibernatemapping>

<class name=combsihibernateCustomer table=tb_customer>

<id name=id column=id type=long>

<generator class=increment></generator>

</id>

<property name=name length= type=string column=name></property>

<set name=orders cascade=saveupdate inverse=true>

<key column=customer_id></key>

<onetomany class=combsihibernateOrder/>

</set>

</class>

</hibernatemapping>

Orderhbmxml

[html]

<hibernatemapping>

<class name=combsihibernateOrder table=tb_order>

<id name=id column=id type=long>

<generator class=increment></generator>

</id>

<property name=orderNumber column=orderNumber type=string></property>

<manytoone name=customer class=combsihibernateCustomer column=customer_id></manytoone>

</class>

</hibernatemapping>

上一篇:log4j B/S实战演练: 自动设置备份文件

下一篇:Structs2.0配置文件propertits详解