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

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

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

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

Цифровая обработка сигналов
Развитие телекоммуникационных сетей увеличивает роль и значение передачи дискретных сообщений в электросвязи. Целью дисциплины ТЦС является: · изложение п ...

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

20-разрядный аналого-цифровой преобразователь, изготовленный по технологии КМОП 0,9 пм
Традиционные конструкции аналого-цифровых преобразователей (АЦП) использовали параллельную архитектуру и биполярные технологии для получения 8-битного разрешени ...