求助:Hibernate映射问题

我在项目中遇到了这种情况,请教怎么设计hibernate映射文件
public class Order{
private int id;
.
.
.
private User user;
private List<LineItem> lineItems;
}

public class LineItem{
private int id;
private Product product;
private int quantity;
.....
}

public class Product{
private int id;
.......
}
定单Order和User是一对一的关系,在数据库order中有userid外键和user的主键id对应,这个简单;
数据库的设计者在order表中用productid作为外键存储所定产品,而在Order中产品是封装在LineItem类中的,表示产品和所定的数量等信息,在Order中没有直接的Product信息,中间好象隔了一个对象,Order和产品信息是一对多关系,请问这个需求怎么写Order和Product间一对多的映射文件。谢谢大家!

Order和LineItem是1:N,而LineItem和Product是1:1关系,而Orde和Product是没有直接的1:N关系的。
这些都从业务上了解,订单上的商品首先是一行行的,每行lineitem对应一个商品,所以,你找订单的商品,首先找到订单,再一行行去从lineitem去找,在行里才找到Product,这些自然的关系说明Orde和Product是没有直接的1:N关系的。

使用hibernate就是要学会用自然贴近业务的思维去考虑思维,不能纸上谈兵,自己绕自己。

谢谢老师的回答,我知道Order和Product是没有直接的1:N关系,而Order和LineItem具有1:N的关系,现在我只能把Order和LineItem映射为one-to-many的关系,但在数据库中是没有LineItem这张数据表的,不知道怎么写配置文件,请教您怎么写,谢谢!

>但在数据库中是没有LineItem这张数据表的,不知道怎么写配置文件
没有,就创建它,或者合并到其他表中,表是输出结果,就象1+1=2 其中2是结果,是服从模型设计的。