package org.onap.portal.domain.db.fn;
import com.fasterxml.jackson.annotation.JsonInclude;
-import java.util.ArrayList;
-import java.util.List;
+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.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
-import javax.persistence.SequenceGenerator;
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;
-import lombok.ToString;
import org.hibernate.validator.constraints.SafeHtml;
/*
CREATE TABLE `fn_language` (
*/
@Table(name = "fn_language")
+
+@NamedQuery(name = "FnLanguage.getByLanguageAlias",
+query = "FROM FnLanguage WHERE languageAlias =: alias")
+
@NoArgsConstructor
@AllArgsConstructor
-@ToString
+@Builder
@Getter
@Setter
@Entity
@JsonInclude()
-@SequenceGenerator(name="seq", initialValue=1000, allocationSize=100000)
-public class FnLanguage {
+public class FnLanguage implements Serializable {
@Id
- @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
- @Column(name = "language_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT")
- @Digits(integer = 11, fraction = 0)
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ @Column(name = "language_id", length = 11, nullable = false)
private Long languageId;
@Column(name = "language_name", length = 100, nullable = false)
@Size(max = 100)
@OneToMany(
targetEntity = FnUser.class,
mappedBy = "languageId",
- cascade = CascadeType.ALL,
+ cascade = CascadeType.MERGE,
fetch = FetchType.EAGER
)
- private List<FnUser> fnUsers = new ArrayList<>();
+ 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;
+ }
}