springMVC + hibernate,多对多关系的问题,我现在要实现的是一张订单有多个客户,一个客户有多个订单。 10
3个回答
展开全部
一般多对多都是有中间表的 建议你把关系配置在 订单里面 客户独立出来
看你上面图的需求是订单的增加,配置的订单里面的话维护简单点, 查询也是。
...还有 具体一下你问的问题, 到现在我都不知道你具体问题在哪里。
看你上面图的需求是订单的增加,配置的订单里面的话维护简单点, 查询也是。
...还有 具体一下你问的问题, 到现在我都不知道你具体问题在哪里。
追问
我的项目是用springMVC+hibernate做的,订单的表单标签是,但客户的表单标签怎样写呢?报错。。关联我是用Set,不是用List的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<form:input path="clients[0].clientName" />报错。。关联我是用Set,不是用List的。
是不是因为 你是Set的,set是无序的,不能用下标去取?
是不是因为 你是Set的,set是无序的,不能用下标去取?
追问
对,用list就没事了,但我想用set有办法吗?
追答
这样你可以用标签对set进行遍历,用c:forEach
但是这样的话对应到后台的话还是一个list,后台需要先把这个list取出来然后再把list转换为set,好像set的话没办法直接使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,你要实现的东西简单,
你先把客户和订单的关系用注解配置好。
然后就可以实现了
你先把客户和订单的关系用注解配置好。
然后就可以实现了
更多追问追答
追问
请问你有没有实例呢?我刚学没多久,不知道怎么搞。。
追答
/** 网元多对多 */
@ManyToMany(fetch=FetchType.LAZY)
@Cascade(value={org.hibernate.annotations.CascadeType.ALL})
@JoinTable(name="t_task_netunit",
joinColumns={@JoinColumn(name="fk_task_id")}
,inverseJoinColumns={@JoinColumn(name="fk_netunit_id")}
)
private Set netUnits = new HashSet();
/** 任务多对多 */
@ManyToMany(fetch=FetchType.LAZY)
@Cascade(value={org.hibernate.annotations.CascadeType.SAVE_UPDATE})
@JoinTable(name="t_task_netunit",
joinColumns={@JoinColumn(name="fk_netunit_id")}
,inverseJoinColumns={@JoinColumn(name="fk_task_id")}
)
private Set tasks = new HashSet();
这两个就是多对多的关系 用注解配置的哈。你研究研究
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询