小弟刚接触hibernate 再用其做个电子商务网站的时候碰到了问题
不清楚该如何才能设计好实体类
就拿订单类跟用户类来说吧
两者是有关系的 我该如何设计这2个实体类呢?
订单类属性:属性1---订单ID
属性2---用户类(还是用户ID?)貌似订单类的属性有用户类的时候 如果save订单类到表里的时候 用户类也要被保存到表里面 但是这个用户已经是存在了的 这样就会出错
请问订单类的属性2是用户类好还是用户ID好?
不清楚该如何才能设计好实体类
就拿订单类跟用户类来说吧
两者是有关系的 我该如何设计这2个实体类呢?
订单类属性:属性1---订单ID
属性2---用户类(还是用户ID?)貌似订单类的属性有用户类的时候 如果save订单类到表里的时候 用户类也要被保存到表里面 但是这个用户已经是存在了的 这样就会出错
请问订单类的属性2是用户类好还是用户ID好?
解决方案 »
- hibernate+struts 删除一条记录时报错
- 大家伙帮忙看看我的简历能不能拿出来见人
- 有些困惑,大家帮忙看看一对多映射时save的一个问题,多谢了!!!
- jni技术中,本地代码与JAVA之间涉及到指针传递怎么办?
- JAVA软件工程师成功就业的秘笈!!请多指点!
- 高分求网址
- 关于 Tapestry 中页面之间传值的问题(共200分),参与有分!!
- 我的struts例子写好后,开tomcat的时候出现了以下错误!请各位帮帮忙拉:)
- WebLogic不能编译JSP文件?
- RMI and CORBA中远程方法是在哪里执行的
- Action是单实例还是多实例,若是多实例在如何处理请求,若是单实例如何变成多实例?
- java矩阵图像显示
User和Order是1:n的关系,也就是一个用户可有多个订单,而一个订单只属于一个用户
public class User{
private Long oid;//用hibernate时User类对应的数据库中表的主键
private String uid;//user的id
private Set orders = new HashSet();//用于存放订单的集合
}
public class Order{
private Long oid;//用hibernate时Order类对应的数据库中表的主键
private String orderid;//user的id
private User owner;//表明订单是归那个用户所有
}
然在在做映射的时候做个级联。
就哦壳了。
订单表字段大概如下:订单ID、订单的时间、下单用户ID(和用户表内的用户ID关联)、订单的状态等其他相关订单内容的字段。用户表:用户ID、用户姓名、用户信息等等然后映射的时候一个用户类,一个订单类。你保存一个订单类,只是增加了订单表里的一条记录而已。这条记录中的字段下单用户ID就唯一表示了订单用户的信息了。
我最初的想法就是这样 但是在保存订单类的时候 订单类里的属性User是再保存一次?能不能看看你保存订单类的代码呢?
order的mapping里如下
<many-to-one name="owner"
column="FID" />
user的mapping里如下
<set name="accts" inverse="false">
<key column="FID" />
<one-to-many class="Account" />
</set>
这个是关键的部分,其他的属性按正常走就好。
保存就是获取一个Session s
然后s.save(new order(属性))就好。