Как автоматически обновлять состояние оборудования при удалении пользователя в приложении Java Spring с использованием JJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как автоматически обновлять состояние оборудования при удалении пользователя в приложении Java Spring с использованием J

Сообщение Anonymous »


Я разрабатываю программу Java с использованием Spring, которая взаимодействует с базами данных с помощью JPA. В моем приложении есть несколько классов, но я столкнулся с проблемой с классами пользователя и оборудования. У каждого пользователя есть оборудование, и каждое оборудование имеет свое состояние (назначено, неназначено или находится в ремонте). Я стремлюсь автоматически обновлять состояние связанного оборудования с назначенного на неназначенное при удалении пользователя. Как я могу этого добиться? Для справки см. фрагмент кода ниже:
пакет se.what.inventorymanager; импортировать jakarta.persistence.*; импортировать java.util.Date; @Сущность @Table(name="оборудование") Оборудование общественного класса { @Идентификатор @GeneratedValue(стратегия = GenerationType.IDENTITY) частный внутренний идентификатор; @Column(name="имя_оборудования") частное имя строки; @Column(name="purchase_date") частная дата PurchaseDate; @Column(name="purchase_price") частная двойная цена покупки; @Enumerated(EnumType.STRING) частное состояние EquipmentState; @Enumerated(EnumType.STRING) частный тип EquipmentType; @OneToOne(mappedBy = "оборудование") частное оборудованиеВспомогательное оборудованиеПоддержка; @ManyToOne @JoinColumn(name = «purchased_by», referencedColumnName = «id») частный пользователь; общественное оборудование() {} общедоступное оборудование (строковое имя, дата покупки, дата двойной покупки, состояние оборудования, Тип EquipmentType, пользователь-пользователь) { это.имя = имя; this.purchaseDate = PurchaseDate; this.purchasePrice = PurchasePrice; this.state = состояние; this.type = тип; this.user = пользователь; } общественный int getId() { вернуть идентификатор; } публичная строка getName() { вернуть имя; } public void setName (имя строки) { это.имя = имя; } публичная дата getPurchaseDate() { дата возврата покупки; } public void setPurchaseDate (Дата PurchaseDate) { this.purchaseDate = PurchaseDate; } общественный двойной getPurchasePrice() { цена обратной покупки; } public void setPurchasePrice(double PurchasePrice) { this.purchasePrice = PurchasePrice; } public EquipmentState getState() { возвратное состояние; } public void setState (состояние EquipmentState) { this.state = состояние; } public EquipmentType getType() { тип возвращаемого значения; } public void setType (тип EquipmentType) { this.type = тип; } публичный пользователь getUser() { вернуть пользователя; } public void setUser (пользователь-пользователь) { this.user = пользователь; } @Override публичная строка toString() { вернуть "Оборудование{" + "id=" + идентификатор + ", name='" + имя + '\'' + ", PurchaseDate=" + PurchaseDate + ", PurchasePrice=" + PurchasePrice + ", состояние=" + состояние + ", тип=" + тип + ", EquipmentSupport=" + EquipmentSupport + ", user=" + user.getName() + '}'; } @PreUpdate @PrePersist общественный недействительный updateEquipmentState () { если (пользователь == ноль) { состояние = EquipmentState.unassigned; } } } пакет se.what.inventorymanager; импортировать jakarta.persistence.*; @Сущность @Table(name = "пользователь") публичный класс пользователя { @Идентификатор @GeneratedValue(стратегия = GenerationType.IDENTITY) частный внутренний идентификатор; частное имя строки; частный струнный отдел; личная строка электронной почты; частный телефон String; личное имя пользователя String; личный строковый пароль; @Column(name = "роль") @Enumerated(EnumType.STRING) частная роль RoleType; public User (имя строки, отдел строки, адрес электронной почты строки, телефон строки, имя пользователя строки, пароль строки, роль RoleType) { это.имя = имя; this.department = отдел; this.email = адрес электронной почты; this.telephone = телефон; this.username = имя пользователя; this.password = пароль; this.role = роль; } общественный пользователь () { } публичная строка getName() { вернуть имя; } public void setName (имя строки) { это.имя = имя; } общественная строка getDepartment() { отдел возврата; } public void setDepartment (Отдел строк) { this.department = отдел; } публичная строка getEmail() { вернуть электронное письмо; } public void setEmail(String email) { this.email = адрес электронной почты; } публичная строка getTelephone() { обратный телефон; } public void setTelephone(String Telephone) { this.telephone = телефон; } публичная строка getUsername() { вернуть имя пользователя; } public void setUsername (String username) { this.username = имя пользователя; } общественная строка getPassword() { вернуть пароль; } public void setPassword (строковый пароль) { this.password = пароль; } общественный RoleType getRole () { обратная роль; } public void setRole (роль RoleType) { this.role = роль; } @Override публичная строка toString() { return "\nИдентификатор пользователя: " + id + " Имя: " + имя + " Отдел: " + отдел + " Электронная почта: " + адрес электронной почты + " Телефон: " + телефон + " Имя пользователя: " + имя пользователя + " Пароль: " + пароль + " Роль: " + роль; } } ;
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»