NutzCN Logo
问答 多对多的UUID 创建中间表出错
发布于 2991天前 作者 Hamming 1820 次浏览 复制 上一个帖子 下一个帖子
标签:

多对多的UUID 创建中间表出错
产品表的主键是UUID 没有声明@id 多对多怎么创建关系呢

    @ManyMany(target = App_product.class, relation = "app_prod_sale", from = "id", to = "id")
    private List<App_product> products;
9 回复

ManyMany还有2个属性

@wendal
这样配置 还是不能自动生成中间表

    @ManyMany(target = App_product.class, relation = "app_prod_sale", from = "id", to = "id",key="id")
    private List<App_product> products;

@tonyyule 看清楚说明啊,不要乱来啊

@wendal 现在问题来了 那么 现在有个BUG 两张表的主键都是ID 中间表存两张表的字段 怎么设定

假设中间表有2个字段, xxx 和yyy.

xxx 是中间表字段名, 对应主表的 id 属性名

yyy 是中间表字段名, 对应关联表的 id属性名

@ManyMany(target = App_product.class, relation = "app_prod_sale", from = "xxx:id", to = "yyy:id")
private List<App_product> products;

@wendal 创建记录如何插入中间表呢
莫非再创建一个一对多关联中间表?

@tonyyule 看来你很喜欢在一个帖子里说n件事

@wendal 原谅小学生问题多 已经自己解决了

@At
    @Ok("json")
    @SLog(tag = "新建App_sale_activity", msg = "")
    public Object addDo(@Param("..") App_sale_activity appSaleActivity,
						@Param("prodId") String prodId, HttpServletRequest req) {
		try {
			if(prodId.indexOf(";") != -1){
				String[] prodArr = prodId.split(";");
				List<App_product> appProductList = appProductService.query(Cnd.where("id","in",prodArr));
				appSaleActivity.setProducts(appProductList);
				appSaleActivityService.insert(appSaleActivity);
				appSaleActivityService.dao().insertRelation(appSaleActivity,"products");
			}
			return Result.success("system.success");
		} catch (Exception e) {
			return Result.error("system.error");
		}
    }

@tonyyule 我的意思不是说问题多,是说不要在一个帖子里讨论N个问题

添加回复
请先登陆
回到顶部