NutzCN Logo
问答 多对一,POJO怎么去写?
发布于 2871天前 作者 mingkaili 2188 次浏览 复制 上一个帖子 下一个帖子
标签:

这是一个自关联的实体:

package com.mxlvniao.entity.dao;

import java.io.Serializable;
import java.util.List;

import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Many;
import org.nutz.dao.entity.annotation.ManyMany;
import org.nutz.dao.entity.annotation.Name;
import org.nutz.dao.entity.annotation.Table;

@Table("tb_destination")
public class Destination implements Serializable {
	private static final long serialVersionUID = -329026169568853770L;

	@Name
	private String id;
	@Column
	private String name;
	@Column
	private String pid;
	@Column
	private Integer qizhouId;
	@Column
	private Integer layer;
	@Many(target = Destination.class, field = "pid")
	private List<Destination> children;
	// 怎么关联父类实体,我不知我这么写对不对?
	@ManyMany(target = Destination.class, relation = "t_destination", from = "pid", to = "id")
	private Destination parentDest;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPid() {
		return pid;
	}

	public void setPid(String pid) {
		this.pid = pid;
	}

	public Integer getQizhouId() {
		return qizhouId;
	}

	public void setQizhouId(Integer qizhouId) {
		this.qizhouId = qizhouId;
	}

	public Integer getLayer() {
		return layer;
	}

	public void setLayer(Integer layer) {
		this.layer = layer;
	}

	public List<Destination> getChildren() {
		return children;
	}

	public void setChildren(List<Destination> children) {
		this.children = children;
	}

	public Destination getParentDest() {
		return parentDest;
	}

	public void setParentDest(Destination parentDest) {
		this.parentDest = parentDest;
	}

}

4 回复

只有3种关联 一对一,一对多, 多对多

多对一, 其实就是 一对多的反向映射, 事实上是 一对一

@One(target = Destination.class, field = "pid")
private Destination parentDest;

@wendal

@One(target = Destination.class, field = "pid")
private Destination parentDest;

这里面的【@One(target = Destination.class, field = "pid")】,field = "pid"不是指的是target = Destination.class里面的字段pid吗?
那就意味着当前POJO的主键要与target = Destination.class的field = "pid"进行关联。
这样获取的不死当前POJO的子集吗,也不是父类对象啊 ?

你这就一个类,没有 子类 父类

@One跟@Many的field/key含义相反, 这点比较蛋疼

@wendal 我明白了,是我手册没看仔细。谢哥。

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