程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java 實體類注解配置問題-CSDN問答

java 實體類注解配置問題-CSDN問答

編輯:編程綜合問答
java 實體類注解配置問題

我有一個機構實體類,裡面有id,orgnName(機構名),parentId(父級機構的id)三個屬性
問要如何配置id和parentId的多對一關系?
表裡面的數據如下形式:
ID ORGNNAME PARENTID
1 機構 1 0

2 機構 1—1 1(存的是 機構1 的id )
3 機構 1—2 1(存的是 機構1 的id )
求高手解答,不,求 ‘大神’ 解答,跪求!!

最佳回答:


一對多注解標識在表示多的集合字段上,多對一的注解標識在一的屬性上,你定義的實體類本質是自關聯的一對多的類。
按照你描述的需求,使用注解,實例代碼如下:

import java.util.ArrayList;
import java.util.List;

public class Organization {
    private Integer id;
    private String orgnName;

    // 父級機構(即上級機構)
    private Organization parent;
    // 子機構(即所有下級機構)
    private List<Organization> children = new ArrayList<Organization>();

    public Integer getId() {
        return id;
    }

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

    @Column(nullable = false, unique = true)  
    public String getOrgnName() {
        return orgnName;
    }

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

    @ManyToOne(fetch = FetchType.LAZY)  
    @JoinColumn(name = "parentId")  
    public Organization getParent() {
        return parent;
    }

    public void setParent(Organization parent) {
        this.parent = parent;
    }

    @OneToMany(targetEntity = Menu.class, cascade = { CascadeType.ALL }, mappedBy = "parentMenu")  
    @Fetch(FetchMode.SUBSELECT)  
    @OrderBy("id")  
    public List<Organization> getChildren() {
        return children;
    }

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

}

Dzq_Boyka
wojiushiwo945you
Dzq_Boyka
Dzq_Boyka
Dzq_Boyka
Dzq_Boyka
wojiushiwo945you
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved