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

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

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

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

Программируемый формирователь последовательности импульсов с цифровой индикацией количества импульсов
Проектируемое устройство в готовом виде представляет собой отдельный прибор, основной функцией которого является формирование последовательности импульсов заданной частот ...

Организация технологической железнодорожной связи
Дальнейшее повышение эффективности и качества грузовых и пассажирских перевозок требует максимального использования достижений науки и техники и широкого вн ...

Моделирование элементов и систем управления
Управляемый объект состоит их четырех типовых динамических звеньев, соединенных между собой в определенной последовательности с образованием двух замкнутых контуров (рису ...