API 1.0.17 ExerciseTypeAlternative ExerciseDeviceAlternative ExerciseTypeParents

This commit is contained in:
Bossanyi Tibor
2020-12-03 15:01:38 +01:00
parent 5e75fce2bc
commit e640f52b36
13 changed files with 140 additions and 64 deletions
@@ -20,4 +20,8 @@ data class ExerciseDevice (
@OneToMany(cascade = [(CascadeType.ALL)], fetch = FetchType.EAGER, mappedBy = "exerciseDevice")
@Fetch(value = FetchMode.SUBSELECT)
val translations: List<ExerciseDeviceTranslation> = mutableListOf<ExerciseDeviceTranslation>().toList()
@OneToMany(cascade = [(CascadeType.ALL)], fetch = FetchType.EAGER, mappedBy = "exerciseDevice")
@Fetch(value = FetchMode.SUBSELECT)
val alternatives: List<ExerciseDeviceAlternative> = mutableListOf<ExerciseDeviceAlternative>().toList()
}
@@ -0,0 +1,22 @@
package com.aitrainer.api.model
import com.fasterxml.jackson.annotation.JsonIgnore
import javax.persistence.*
import javax.validation.constraints.NotNull
@Entity
data class ExerciseDeviceAlternative (
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var exerciseDeviceAlternativeId: Long = 0,
//@get: NotNull var exerciseDeviceParentId: Long?,
@get: NotNull var exerciseDeviceChildId: Long?
) {
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "exerciseDeviceParentId", nullable = false)
@JsonIgnore
val exerciseDevice: ExerciseDevice? = null
}
@@ -32,4 +32,12 @@ data class ExerciseType(
@Fetch(value = FetchMode.SUBSELECT)
val translations: List<ExerciseTypeTranslation> = mutableListOf<ExerciseTypeTranslation>()
@OneToMany(cascade = [(CascadeType.ALL)], fetch = FetchType.EAGER, mappedBy = "exerciseType")
@Fetch(value = FetchMode.SUBSELECT)
val alternatives: List<ExerciseTypeAlternative> = mutableListOf<ExerciseTypeAlternative>()
@OneToMany(cascade = [(CascadeType.ALL)], fetch = FetchType.EAGER, mappedBy = "exerciseType")
@Fetch(value = FetchMode.SUBSELECT)
val parents: List<ExerciseTypeParents> = mutableListOf<ExerciseTypeParents>()
}
@@ -0,0 +1,22 @@
package com.aitrainer.api.model
import com.fasterxml.jackson.annotation.JsonIgnore
import javax.persistence.*
import javax.validation.constraints.NotNull
@Entity
data class ExerciseTypeAlternative (
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var exerciseTypeAlternativeId: Long = 0,
//@get: NotNull var exerciseTypeParentId: Long?,
@get: NotNull var exerciseTypeChildId: Long?
) {
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "exerciseTypeParentId", nullable = false)
@JsonIgnore
val exerciseType: ExerciseType? = null
}
@@ -0,0 +1,22 @@
package com.aitrainer.api.model
import com.fasterxml.jackson.annotation.JsonIgnore
import javax.persistence.*
import javax.validation.constraints.NotNull
@Entity
data class ExerciseTypeParents (
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var exerciseTypeParentsId: Long = 0,
@get: NotNull var exerciseTreeId: Long?
//@get: NotNull var exerciseTypeId: Long?
) {
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "exerciseTypeId", nullable = false)
@JsonIgnore
val exerciseType: ExerciseType? = null
}