package com.covas.Entity; import java.io.Serializable; import java.time.LocalDateTime; import java.util.UUID; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.CascadeType; import org.hibernate.annotations.ColumnDefault; import org.hibernate.annotations.GenericGenerator; import com.covas.Enum.Type; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; @Entity @Table(name = "publisher") @NamedQueries({ @NamedQuery(name = "Publishers.bySearch", query = "from PublisherEntity u where u.description like :description"), }) public class PublisherEntity extends PanacheEntityBase implements Serializable { @Id @Column(name = "id") @GeneratedValue(generator = "UUID") @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") public UUID id; @Column(columnDefinition="TEXT") public String description; @Enumerated(EnumType.STRING) public Type type; public String url; @Column(nullable = false) public LocalDateTime created_at; @Column(nullable = false) public LocalDateTime updated_at; @ColumnDefault("null") public LocalDateTime deleted_at; @ColumnDefault("1") public Short status; @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = "users_id", referencedColumnName = "id") public UsersEntity users; }