小弟刚接触hibernate 再用其做个电子商务网站的时候碰到了问题
不清楚该如何才能设计好实体类
就拿订单类跟用户类来说吧
两者是有关系的 我该如何设计这2个实体类呢?
订单类属性:属性1---订单ID
属性2---用户类(还是用户ID?)貌似订单类的属性有用户类的时候 如果save订单类到表里的时候 用户类也要被保存到表里面 但是这个用户已经是存在了的 这样就会出错
请问订单类的属性2是用户类好还是用户ID好?
不清楚该如何才能设计好实体类
就拿订单类跟用户类来说吧
两者是有关系的 我该如何设计这2个实体类呢?
订单类属性:属性1---订单ID
属性2---用户类(还是用户ID?)貌似订单类的属性有用户类的时候 如果save订单类到表里的时候 用户类也要被保存到表里面 但是这个用户已经是存在了的 这样就会出错
请问订单类的属性2是用户类好还是用户ID好?
解决方案 »
- jdbc 怎么样能取得数据库中的所有存储过程列表。
- 大侠们,我刚毕业的,进了一间公司,老板就要求设计一个struts2权限管理的数据库设计
- 高手解答---JNDI 数据源 JDBC 连接池
- 一个关于取得指定日期前一天的问题,在线等,急!!!!
- 请大家推荐一本学习SSH的好书!!
- 关于Ejb2.0中无状态SessionBean的问题
- 使用jax-rpc时出现Deserializing parameter的问题???
- James 从什么地方下载呀
- 怎么样在一个页面实现树的功能,就象CSDN登陆后左边的那课树一样
- 用Jbuiler6开发了一个小应用程序,如何在没有Jb环境的地方运行?
- 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(属性))就好。