Skip to content

Instantly share code, notes, and snippets.

@raviyasas
Last active May 7, 2020 18:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raviyasas/a75070c91c727bb364c938e8875364ab to your computer and use it in GitHub Desktop.
Save raviyasas/a75070c91c727bb364c938e8875364ab to your computer and use it in GitHub Desktop.
Sample entity
package com.app.entity;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.*;
import java.io.Serializable;
import java.util.List;
@Entity
@Data
@Table(name = "employee")
@SequenceGenerator(name = "employee_gen", sequenceName = "employee_seq", allocationSize = 100)
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "emp_id", nullable = false, unique = true)
private Integer id;
@Column(name = "emp_first_name")
private String firstName;
@Column(name = "emp_last_name")
private String lastName;
@Column(name = "emp_email")
private String email;
@Column(name = "emp_mobile_number")
private String mobileNumber;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
@JoinColumn(name = "fk_department_id", updatable = false)
@JsonManagedReference
@EqualsAndHashCode.Exclude
private Department department;
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
@JoinTable(name = "employee_roles",
joinColumns = {@JoinColumn(name = "employee_id")},
inverseJoinColumns = {@JoinColumn(name = "role_id")})
@JsonManagedReference
private List<Role> roles;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment