Hibernate多对多映射问题 假设一个商城项目中,有商品和订单两个表,他们是多对多关系,那么在映射的时候肯定会生成一张中间表,一般来说这个中间表存储的就是这两个表的id,但是现在有个问题是我想把商品的成交价也放在中间表里面请问该如何映射呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面是hibernate3.2的文档中多对一采用第三方表的实现实例, 使用了一个join标签关联了第三方表,我猜测可以使用这个实现,不过这会儿没有环境。。你试试吧...7.3.2. 多对一(many to one)基于连接表的单向多对一关联在关联关系可选的情况下应用也很普遍。 <class name="Person"> <id name="id" column="personId"> <generator class="native"/> </id> <join table="PersonAddress" optional="true"> <key column="personId" unique="true"/> <many-to-one name="address" column="addressId" not-null="true"/> </join></class><class name="Address"> <id name="id" column="addressId"> <generator class="native"/> </id></class>create table Person ( personId bigint not null primary key )create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )create table Address ( addressId bigint not null primary key ) 又考虑了一下你的需求。。你的成交价放到中间表之后, 它就不是一个单纯的关联表了, 应该被抽象成为一个独立的实体类(在UML中可以描述成为关联类), 这个类有了自己的有业务意义的属性, 我觉得如果你要对这个进行管理, 可以采用三个实体类:商品、订单、订单项。在订单项中对商品的成交价进行管理商品和订单项是一对多, 每个订单项只管理一种商品。订单和订单项是一对多, 每个订单项也只关联一个订单。订单项中可以保存:购买数量,单价(这里的单价是为了管理你商品的历史价格,商品类中的价格永远是当前价格),成交价...根据业务要求, 在订单项中也可以抽象出一些以备扩展的属性。 1楼讲的挺好的,不过方法就有些复杂了哦,要是用jpa做的话那就简单多了哦 请问inputstream怎么变成file类型的? 用Java建立一棵树 一个超一流高手对一个问题的解决办法啊!但是我看不明白啊!有人能告诉我一下吗?谢谢啊 帮忙看看简单的JAVA问题! 关于java对象的复制。 请问我错在哪,该怎样解决这问题啊? jCombobox,关于下拉框选项,请教 哭了,,谁帮我阿~100分立即给~~ java如何把整数变成带前导0的定长串,如9-->"0009",81->"0081",有没有最简单的办法? 一个读取属性文件的问题 addActionListener修改不了成员变量啊?急急急急急急急急 如何设置jtable中浮点数的默认小数位数?
基于连接表的单向多对一关联在关联关系可选的情况下应用也很普遍。 <class name="Person">
<id name="id" column="personId">
<generator class="native"/>
</id>
<join table="PersonAddress"
optional="true">
<key column="personId" unique="true"/>
<many-to-one name="address"
column="addressId"
not-null="true"/>
</join>
</class><class name="Address">
<id name="id" column="addressId">
<generator class="native"/>
</id>
</class>
create table Person ( personId bigint not null primary key )
create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )
create table Address ( addressId bigint not null primary key )
你的成交价放到中间表之后, 它就不是一个单纯的关联表了, 应该被抽象成为一个独立的实体类(在UML中可以描述成为关联类), 这个类有了自己的有业务意义的属性, 我觉得如果你要对这个进行管理, 可以采用三个实体类:商品、订单、订单项。在订单项中对商品的成交价进行管理商品和订单项是一对多, 每个订单项只管理一种商品。
订单和订单项是一对多, 每个订单项也只关联一个订单。订单项中可以保存:购买数量,单价(这里的单价是为了管理你商品的历史价格,商品类中的价格永远是当前价格),成交价...根据业务要求, 在订单项中也可以抽象出一些以备扩展的属性。