covas-quarkus/src/main/java/com/covas/Entity/PublisherEntity.java

61 lines
1.7 KiB
Java

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;
}