29 lines
767 B
Kotlin
29 lines
767 B
Kotlin
package at.eisibaer.jbear2.model
|
|
|
|
import jakarta.persistence.*
|
|
|
|
@Entity
|
|
@Table(name = "users", indexes = [
|
|
Index(name = "fk_profile_picture_to_user", columnList = "fk_profile_picture"),
|
|
Index(name = "username_to_user", columnList = "username"),
|
|
])
|
|
data class User(
|
|
|
|
@Column(name = "username", nullable = false, unique = true)
|
|
var username: String,
|
|
|
|
@Column(name = "password", nullable = false, unique = false)
|
|
var password: String,
|
|
|
|
@OneToMany(mappedBy = "owner")
|
|
val boards: List<Board>,
|
|
|
|
@OneToOne
|
|
@JoinColumn(name = "fk_profile_picture", referencedColumnName = "id")
|
|
var profilePicture: File?,
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
|
|
val id: Long? = null,
|
|
)
|