ПОМОГИТЕ как построить JTreeTable

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Эрос, 24 Nov 2012.

  1. Эрос

    Эрос New Member

    Joined:
    5 Dec 2011
    Messages:
    17
    Likes Received:
    1
    Reputations:
    -3
    не понимаю как его построить и отображать (там должны участвовать 4 типа - entity)
    из БД нужно брать объекты
    короче, Штатное расписание нужно сделать

    у нас есть сущности(Предприятия(Enterprice), Отделы(Department), Штатное расписания(PersonnelShedule), Элементы Штатного расписания(PersonnelSheduleItem)

    PersonnelSheduleItem - у него есть поля типа EmployeePosition, и count - типа int

    и вот они все хранятся как сущности в БД, когда мы должны отобразить это клиенту нам нужно(по крайней мере я так считаю) использовать JTreeTable в иерархическом виде (корень Предприятие у него список Отделов а у отдела есть список PersonnelSheduleItem где указывается сколько человек мы можем принять на работу)





    public class Enterprice implements Serializable {

    protected static final long serialVersionUID = 1L;
    /**
    * <p>Идентификационный номер объекта, уникальный <p>тип: Long
    * <p>Генерируется автоматически
    */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    protected Long id;
    /**
    * Название предприятия
    */
    protected String enterpriceName;
    /**
    * <p>Если в предприятие имеются дочерние предприятия <p> Отношение
    * один-к-многим
    */
    @OneToMany(mappedBy = "parentEnterprice", fetch = FetchType.LAZY)
    protected List<Enterprice> childs;
    /**
    * <p>Предприятие имеет подразделения, службы, отделы <p> Отношение
    * Один-к-Многим
    */
    @OneToMany(mappedBy = "enterprice", fetch = FetchType.EAGER)
    protected List<Division> divisions;
    /**
    * <p> Если предприятие является родительским предприятием <p>Отношение
    * Многие-К-Одному
    */
    @ManyToOne
    protected Enterprice parentEnterprice;

    это был Enterprice

    Теперь Division

    public class Division implements Serializable {

    protected static final long serialVersionUID = 1L;
    /**
    *
    * <p>Идентификационный номер объекта, уникальный <p>тип: Long
    * <p>Генерируется автоматически
    *
    */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    protected Long id;
    /**
    * Название подразделения, департамента, службы
    */
    protected String divisionName;
    /**
    * <p>Список дочерних подразделений <p>Отношение один-к-многим
    *
    */
    @OneToMany(mappedBy = "parentDivision")
    protected List<Division> childDivisions;
    /**
    * <p>Предприятие к которому относится данное подразделение <p>Отношение
    * многие-к-одному
    */
    @ManyToOne(fetch= FetchType.LAZY)
    protected Enterprice enterprice;
    /**
    * <p>родительское подразделение к которому относится данне подразделение
    * <p>Отношение многие-к-одному
    *
    */
    @ManyToOne
    protected Division parentDivision;

    @Entity
    public class PersonnelScheduleItem extends DocumentItem {

    @ManyToOne
    private EmployeePosition position;
    @ManyToOne
    private Division division;

    один элемент штатного расписания


    а это само штатное расписание


    @Entity
    public class PersonnelSchedule extends Document {

    public void addPersonnelScheduleItems(PersonnelScheduleItem documentItem) {
    super.getDocumentItems().add(documentItem);
    }
     
    #1 Эрос, 24 Nov 2012
    Last edited: 24 Nov 2012