SevenDark 2016-05-24 17:29 采纳率: 0%
浏览 1395

hibernate中外键指向本身的一对多查询

package com.km.entity;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

@Entity
public class Folderinfo {


    private Integer folderId;
    private Folderinfo upperId;
    private String folderName;

    private Set<Folderinfo> folders = new HashSet<Folderinfo>();
    private Set<Fileinfo> files = new HashSet<Fileinfo>();

    public Folderinfo() {
    }

    public Folderinfo(Integer folderId, Folderinfo upperId, String folderName,
            Set<Folderinfo> folders, Set<Fileinfo> files) {
        super();
        this.folderId = folderId;
        this.upperId = upperId;
        this.folderName = folderName;
        this.folders = folders;
        this.files = files;
    }


    @Id
    @GeneratedValue
    public Integer getFolderId() {
        return folderId;
    }

    public void setFolderId(Integer folderId) {
        this.folderId = folderId;
    }

    @ManyToOne
    @JoinColumn(name="upperId")
    public Folderinfo getUpperId() {
        return upperId;
    }
    public void setUpperId(Folderinfo upperId) {
        this.upperId = upperId;
    }


    public String getFolderName() {
        return folderName;
    }
    public void setFolderName(String folderName) {
        this.folderName = folderName;
    }

    @OneToMany(cascade = CascadeType.ALL ,fetch = FetchType.EAGER , mappedBy = "folderId")
    public Set<Folderinfo> getFolders() {
        return folders;
    }
    public void setFolders(Set<Folderinfo> folders) {
        this.folders = folders;
    }

    @OneToMany(cascade = CascadeType.ALL ,fetch = FetchType.EAGER , mappedBy = "fileId")
    public Set<Fileinfo> getFiles() {
        return files;
    }
    public void setFiles(Set<Fileinfo> files) {
        this.files = files;
    }

}

package com.km.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;


@Entity
public class Fileinfo{


    // Fields    

     private Integer fileId;
     private Folderinfo folderinfo;
     private Userinfo userinfo;
     private String context;
     private String date;
     private String editDate;
     private String file;
     private String fileName;
     private String fileType;
     private Double size;


    // Constructors

    /** default constructor */
    public Fileinfo() {
    }


    public Fileinfo(Integer fileId, Folderinfo folderinfo, Userinfo userinfo,
            String context, String date, String editDate, String file,
            String fileName, String fileType, Double size) {
        super();
        this.fileId = fileId;
        this.folderinfo = folderinfo;
        this.userinfo = userinfo;
        this.context = context;
        this.date = date;
        this.editDate = editDate;
        this.file = file;
        this.fileName = fileName;
        this.fileType = fileType;
        this.size = size;
    }

    @Id
    @GeneratedValue
    public Integer getFileId() {
        return fileId;
    }


    public void setFileId(Integer fileId) {
        this.fileId = fileId;
    }

    @ManyToOne
    @JoinColumn(name="folderId")
    public Folderinfo getFolderinfo() {
        return folderinfo;
    }


    public void setFolderinfo(Folderinfo folderinfo) {
        this.folderinfo = folderinfo;
    }

    @ManyToOne
    @JoinColumn(name="userId")
    public Userinfo getUserinfo() {
        return userinfo;
    }


    public void setUserinfo(Userinfo userinfo) {
        this.userinfo = userinfo;
    }


    public String getContext() {
        return context;
    }


    public void setContext(String context) {
        this.context = context;
    }


    public String getDate() {
        return date;
    }


    public void setDate(String date) {
        this.date = date;
    }


    public String getEditDate() {
        return editDate;
    }


    public void setEditDate(String editDate) {
        this.editDate = editDate;
    }


    public String getFile() {
        return file;
    }


    public void setFile(String file) {
        this.file = file;
    }


    public String getFileName() {
        return fileName;
    }


    public void setFileName(String fileName) {
        this.fileName = fileName;
    }


    public String getFileType() {
        return fileType;
    }


    public void setFileType(String fileType) {
        this.fileType = fileType;
    }


    public Double getSize() {
        return size;
    }


    public void setSize(Double size) {
        this.size = size;
    }

}

package com.km.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
public class Userinfo{

    private Integer userId;
    private Usertype usertype;
    private String userName;
    private String userPwd;


    public Userinfo(Integer userId, Usertype usertype, String userName,
            String userPwd) {
        super();
        this.userId = userId;
        this.usertype = usertype;
        this.userName = userName;
        this.userPwd = userPwd;
    }
    public Userinfo() {
        // TODO Auto-generated constructor stub
    }
    @Id
    @GeneratedValue
    public Integer getUserId() {
        return userId;
    }
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    @ManyToOne
    @JoinColumn(name="typeId")
    public Usertype getUsertype() {
        return usertype;
    }
    public void setUsertype(Usertype usertype) {
        this.usertype = usertype;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPwd() {
        return userPwd;
    }
    public void setUserPwd(String userPwd) {
        this.userPwd = userPwd;
    }

}


package com.km.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Usertype {


    // Fields    

    private Integer typeId;
    private String typeName;


    public Usertype(Integer typeId, String typeName) {
        super();
        this.typeId = typeId;
        this.typeName = typeName;
    }

    public Usertype() {
        // TODO Auto-generated constructor stub
    }
    @Id
    @GeneratedValue
    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
}
  • 写回答

2条回答 默认 最新

  • SevenDark 2016-05-24 17:31
    关注

    我想查询Folderinfo里面Set folders的数据,但是现在查询出来里面总是只有一条数据

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog