Skip to content
Snippets Groups Projects
Commit 513f9351 authored by Otto Visser's avatar Otto Visser
Browse files

Merge branch...

Merge branch '565-jpaobjectretrievalfailureexception-unable-to-find-nl-tudelft-queue-model-queuesession-with-id' into 'development'

Resolve "JpaObjectRetrievalFailureException: Unable to find nl.tudelft.queue.model.QueueSession with id 6382; nested exception is javax.persis..."

Closes #565

See merge request !610
parents edb8dbb2 1b4474de
Branches
Tags
2 merge requests!611Allow admins to upload room images,!610Resolve "JpaObjectRetrievalFailureException: Unable to find nl.tudelft.queue.model.QueueSession with id 6382; nested exception is javax.persis..."
...@@ -34,6 +34,7 @@ import nl.tudelft.queue.dto.view.QueueSessionViewDTO; ...@@ -34,6 +34,7 @@ import nl.tudelft.queue.dto.view.QueueSessionViewDTO;
import nl.tudelft.queue.model.embeddables.LabRequestConstraints; import nl.tudelft.queue.model.embeddables.LabRequestConstraints;
import nl.tudelft.queue.model.enums.QueueSessionType; import nl.tudelft.queue.model.enums.QueueSessionType;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import org.hibernate.validator.constraints.UniqueElements; import org.hibernate.validator.constraints.UniqueElements;
...@@ -107,6 +108,7 @@ public abstract class QueueSession<R extends Request<?>> { ...@@ -107,6 +108,7 @@ public abstract class QueueSession<R extends Request<?>> {
@Builder.Default @Builder.Default
@ToString.Exclude @ToString.Exclude
@EqualsAndHashCode.Exclude @EqualsAndHashCode.Exclude
@Cascade(org.hibernate.annotations.CascadeType.DELETE)
@OneToMany(mappedBy = "session", cascade = { CascadeType.ALL }, targetEntity = Request.class) @OneToMany(mappedBy = "session", cascade = { CascadeType.ALL }, targetEntity = Request.class)
private List<R> requests = new ArrayList<>(); private List<R> requests = new ArrayList<>();
......
...@@ -31,12 +31,17 @@ import lombok.experimental.SuperBuilder; ...@@ -31,12 +31,17 @@ import lombok.experimental.SuperBuilder;
import nl.tudelft.queue.dto.view.RequestViewDTO; import nl.tudelft.queue.dto.view.RequestViewDTO;
import nl.tudelft.queue.model.embeddables.RequestEventInfo; import nl.tudelft.queue.model.embeddables.RequestEventInfo;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
@Data @Data
@Entity @Entity
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Where(clause = "deleted_at IS NULL")
@Inheritance(strategy = InheritanceType.JOINED) @Inheritance(strategy = InheritanceType.JOINED)
@SQLDelete(sql = "UPDATE request SET deleted_at = NOW() WHERE id = ?")
public abstract class Request<QS extends QueueSession<?>> { public abstract class Request<QS extends QueueSession<?>> {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
...@@ -87,6 +92,9 @@ public abstract class Request<QS extends QueueSession<?>> { ...@@ -87,6 +92,9 @@ public abstract class Request<QS extends QueueSession<?>> {
@NotNull @NotNull
private Long studentGroup; private Long studentGroup;
@Builder.Default
private LocalDateTime deletedAt = null;
/** /**
* @return Whether this request is revokable by the requester. * @return Whether this request is revokable by the requester.
*/ */
......
...@@ -784,3 +784,14 @@ databaseChangeLog: ...@@ -784,3 +784,14 @@ databaseChangeLog:
name: extra_info name: extra_info
type: CLOB type: CLOB
tableName: queue_session tableName: queue_session
# Soft delete requests
- changeSet:
id: soft-delete-requests
author: Ruben Backx
changes:
- addColumn:
columns:
- column:
name: deleted_at
type: TIMESTAMP
tableName: request
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment