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

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

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

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

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

Микроэлектроника. Новая быстро развивающаяся технология
Электроника прошла несколько этапов развития, за время которых сменилось несколько поколений элементной базы: дискретная электроника электровакуумных прибор ...

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