Разделы сайта

Разработка классов сущностей системы

id - код наблюдательного пункта

ip - IP адрес наблюдательного пункта

description - описание наблюдательного пункта

listSDPAttributes - ссылка на коллекцию SDP атрибутов

topCategory - ссылка на категорию

listAttributes - ссылка на коллекцию атрибутов

listFixations - ссылка на коллекцию событий распознавания образов

listParts - ссылка на коллекцию частей сохраненного потока

Листинг 2.4 - Листинг класса сущности «Наблюдательный пункт»

@Entity

@Table(name = "CHECKPOSTS")

@NamedQueries({

@NamedQuery(name = "Checkpost.getByCategoryId", query = "select ch from Checkpost ch where ch.topCategory.id = :id")

})

publicclass

Checkpost implements

Serializable {

privatestatic

final

long

serialVersionUID = 1L;

@Id

@GeneratedValue

privateLong id;

privateString ip;

privateString description;

@OneToMany(fetch = FetchType.EAGER)

privateList<SDPAttribute> listSDPAttributes;

@ManyToOne(fetch = FetchType.EAGER)

privateCategory topCategory;

@OneToMany(fetch = FetchType.EAGER)

privateList<Attribute> listAttributes;

@OneToMany(fetch = FetchType.LAZY)

privateList<Fixation> listFixations;

@OneToMany(fetch = FetchType.LAZY)

privateList<Part> listParts;

}

Класс Employee используется для хранения информации о сотрудниках предприятия. К экземплярам данного класса будут привязываться события распознавания образов. Содержит поля имени, отчества, фамилии, даты рождения, должность, адрес проживания. Текст класса представлен в листинге 2.5.

- id - код сотрудника

name - имя сотрудника

surname - фамилия

patronymic - отчество

email - адрес электронной почты

birthday - дата рождения

post - должность

address - адрес проживания

listFixations - ссылка на коллекцию фиксаций данного сотрудника

category - ссылка на категорию

Листинг 2.5 - Листинг класса сущности «Сотрудник»

@Entity

@Table(name= "EMPLOYEE")

@NamedQueries({

@NamedQuery(name = "Employee.getByCategoryId", query = "select e from Employee e where e.category.id = :id"),

@NamedQuery(name = "Employee.getAll", query = "select e from Employee e")

})

publicclass

Employee implements

Serializable {

privatestatic

final

long

serialVersionUID = 1L;

@Id

@GeneratedValue

privateLong id;

privateString name;

privateString surname;

privateString patronymic;

privateString email;

@Temporal(TemporalType.DATE)

privateCalendar birthday;

privateString post;

privateString address;

@OneToMany(fetch = FetchType.LAZY)

privateList<Fixation> listFixations;

@ManyToOne(fetch = FetchType.EAGER)

privateCategory category;

}

Класс Fixation используется для хранения информации о событиях распознавания образов. Содержит поля времени и даты фиксации сотрудника на определенной камере, ссылку на камеру, на которой был зафиксирован сотрудник и ссылку на сотрудника, который был зафиксирован. Текст класса приведен в листинге 2.6.

id - код записи о фиксировании

time - время и дата фиксации

employee - ссылка на зафиксированного сотрудника

checkpost - ссылка на наблюдательный пункт

Листинг 2.6 - Листинг класса сущности «Фиксация»

@Entity

@Table(name = "FIXATIONS")

@NamedQueries({

@NamedQuery(name = "Fixation.searchByTimeRange", query = "select f from Fixation f where f.time >= :start AND f.time <= :end"),

@NamedQuery(name = "Fixation.getByCheckpostId", query = "select f from Fixation f where f.checkpost.id = :id"),

@NamedQuery(name = "Fixation.getByEmployeeId", query = "select f from Fixation f where f.employee.id = :id")

})

publicclass

Fixation implements

Serializable {

privatestatic

final

long

serialVersionUID = 1L;

@Id

@GeneratedValue

privateLong id;

@Temporal(TemporalType.TIMESTAMP)

privateCalendar time;

@ManyToOne(fetch = FetchType.EAGER)

privateEmployee employee;

@ManyToOne(fetch = FetchType.EAGER)

privateCheckpost checkpost;

}

Класс Part используется для хранения информации о части сохраненного видеопотока. Класс содержит поля размера файла, время и дату начала захвата, время и дату окончания захвата видеопотока и путь к файлу. Текст класса представлен в листинге 2.7.

Перейти на страницу: 1 2 3

Интересное из раздела

Проект корпоративной вычислительной сети
Локальные сети в последнее время все более превращаются в обязательную принадлежность любой компании, имеющей больше одного компьютера. Это обусловлено возр ...

Комплекс аппаратных средств для трансляции звукового сигнала на большие расстояния
Звук играет важную роль в жизнедеятельности человека. Каждый день мы слышим очень много разнообразных звуков, так же существует необходимость передават ...

Расчет токовой защиты нулевой последовательности
Задание и исходные данные Произвести расчет дистанционной защиты линии и начертить карту селективности дистанционных защит. Исходные данные: ...