RecipeEntity.kt

package org.openapitools.entity

import jakarta.persistence.*
import java.time.Instant

@Entity
@Table(name = "recipes")
class RecipeEntity(
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	val id: Long = 0,
	@Column(nullable = false)
	var title: String,
	@Column(columnDefinition = "TEXT", nullable = false)
	var ingredients: String, // JSON array string, e.g. ["flour","eggs","milk"]
	@Column(columnDefinition = "TEXT", nullable = false)
	var instructions: String,
	var portions: java.math.BigDecimal,
	var nutrientKcal: Int,
	var nutrientCarb: Int,
	var nutrientProt: Int,
	var nutrientFat: Int,
	@Column(nullable = false, updatable = false)
	val createdAt: Instant = Instant.now(),
	@Column(nullable = false)
	var editedAt: Instant = Instant.now(),
	var openedAt: Instant? = null,
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "user_id", nullable = false)
	val user: UserEntity,
)