package org.onap.portal.domain.db.fn;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
import javax.persistence.Table;
-import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.AllArgsConstructor;
+import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
*/
@Table(name = "fn_language")
+
+@NamedQuery(name = "FnLanguage.getByLanguageAlias",
+query = "FROM FnLanguage WHERE languageAlias =: alias")
+
@NoArgsConstructor
@AllArgsConstructor
+@Builder
@Getter
@Setter
@Entity
-public class FnLanguage {
+@JsonInclude()
+public class FnLanguage implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
- @Column(name = "language_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT")
- @Digits(integer = 11, fraction = 0)
+ @Column(name = "language_id", length = 11, nullable = false)
private Long languageId;
@Column(name = "language_name", length = 100, nullable = false)
@Size(max = 100)
- @NotNull
+ @NotNull(message = "languageName must not be null")
@SafeHtml
private String languageName;
@Column(name = "language_alias", length = 100, nullable = false)
@Size(max = 100)
- @NotNull
+ @NotNull(message = "languageAlias must not be null")
@SafeHtml
private String languageAlias;
+ @OneToMany(
+ targetEntity = FnUser.class,
+ mappedBy = "languageId",
+ cascade = CascadeType.MERGE,
+ fetch = FetchType.EAGER
+ )
+ private Set<FnUser> fnUsers = new HashSet<>();
+
+ @Override
+ public String toString() {
+ String sb = "FnLanguage{" + "languageId=" + languageId
+ + ", languageName='" + languageName + '\''
+ + ", languageAlias='" + languageAlias + '\''
+ + '}';
+ return sb;
+ }
+ public FnLanguage(
+ @Size(max = 100) @NotNull(message = "languageName must not be null") @SafeHtml String languageName,
+ @Size(max = 100) @NotNull(message = "languageAlias must not be null") @SafeHtml String languageAlias) {
+ this.languageName = languageName;
+ this.languageAlias = languageAlias;
+ }
}