/
Chebarik
/
PackageManagement
Обзор
Документация
Войти
/
Chebarik
/
PackageManagement
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/packagemanagement/infrastructure/persistence/entity/PackageEntity.java
115 строк
3 KB
Николай Мехоношин
added infrastructure adapters
13 янв 2026, 20:42
13 янв 2026, 20:42
874e841
Код
Авторство
О чём код?
package com.packagemanagement.infrastructure.persistence.entity; import jakarta.persistence.*; import java.time.Instant; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "packages", indexes = { @Index(name = "idx_package_name", columnList = "name", unique = true) }) public class PackageEntity { @Id @Column(name = "id", length = 36) private String id; @Column(name = "name", nullable = false, length = 100) private String name; @Column(name = "description", length = 500) private String description; @Column(name = "format", nullable = false, length = 20) private String format; @Column(name = "created_at", nullable = false) private Instant createdAt; @Column(name = "updated_at", nullable = false) private Instant updatedAt; @OneToMany(mappedBy = "packageEntity", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) @OrderBy("publishedDate DESC") private List<VersionEntity> versions = new ArrayList<>(); public PackageEntity() { } public PackageEntity(String id, String name, String description, String format, Instant createdAt, Instant updatedAt) { this.id = id; this.name = name; this.description = description; this.format = format; this.createdAt = createdAt; this.updatedAt = updatedAt; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } public Instant getCreatedAt() { return createdAt; } public void setCreatedAt(Instant createdAt) { this.createdAt = createdAt; } public Instant getUpdatedAt() { return updatedAt; } public void setUpdatedAt(Instant updatedAt) { this.updatedAt = updatedAt; } public List<VersionEntity> getVersions() { return versions; } public void setVersions(List<VersionEntity> versions) { this.versions = versions; } public void addVersion(VersionEntity version) { versions.add(version); version.setPackageEntity(this); } public void removeVersion(VersionEntity version) { versions.remove(version); version.setPackageEntity(null); } }