diff --git a/src/main/java/com/covas/Entity/MessageEntity.java b/src/main/java/com/covas/Entity/MessageEntity.java new file mode 100644 index 0000000..bc0549e --- /dev/null +++ b/src/main/java/com/covas/Entity/MessageEntity.java @@ -0,0 +1,61 @@ +package com.covas.Entity; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +import javax.persistence.Column; +import javax.persistence.Entity; +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 io.quarkus.hibernate.orm.panache.PanacheEntityBase; + + +@Entity +@Table(name = "message") +@NamedQueries({ +@NamedQuery(name = "Message.bySearch", query = "from MessageEntity u where u.content like :content"), +}) +public class MessageEntity 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 content; + + @Column(nullable = false) + public LocalDateTime created_at; + @Column(nullable = false) + public LocalDateTime updated_at; + @ColumnDefault("null") + public LocalDateTime deleted_at; + + public String conversation; + + @ColumnDefault("1") + public Short status; + + @ManyToOne(cascade = CascadeType.ALL) + @JoinColumn(name = "users_id", referencedColumnName = "id") + public UsersEntity users; + + + public static List findByUsers(String uuid){ + return find("users_id", uuid).list(); + } +} \ No newline at end of file diff --git a/src/main/java/com/covas/Entity/UsersEntity.java b/src/main/java/com/covas/Entity/UsersEntity.java index bc86693..6bae1fd 100644 --- a/src/main/java/com/covas/Entity/UsersEntity.java +++ b/src/main/java/com/covas/Entity/UsersEntity.java @@ -80,6 +80,9 @@ public class UsersEntity extends PanacheEntityBase implements Serializable { @OneToMany(mappedBy = "users") public Collection comment; + @OneToMany(mappedBy = "users") + public Collection message; + public static UsersEntity findByPseudo(String pseudo){ return find("pseudo", pseudo).firstResult(); }