Skip to content

Instantly share code, notes, and snippets.

@jrichardsz
Last active October 11, 2019 14:17
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 jrichardsz/61107987b8b0d55e9ba523aad31f51cc to your computer and use it in GitHub Desktop.
Save jrichardsz/61107987b8b0d55e9ba523aad31f51cc to your computer and use it in GitHub Desktop.
jpa snippets
@Entity
public class Organization extends GenericEntity {
@Column(length = 50)
@Required
private String name;
@Column(length = 50)
@Required
private String description;
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "organization_application", joinColumns = @JoinColumn(name = "organization_id"), inverseJoinColumns = @JoinColumn(name = "aplication_id"))
private Set<Application> applications = new HashSet<>();
@Entity
public class Application extends GenericEntity {
@Column(length = 50)
@Required
private String name;
@Column(length = 50)
@Required
private String description;
@Column
@Required
private boolean disabled = false;
@ManyToMany(mappedBy = "applications")
private Set<Organization> organizations = new HashSet<>();
@Entity
public class Application extends GenericEntity {
@Column(length = 50)
@Required
private String name;
@Column(length = 50)
@Required
private String description;
@Column
@Required
private boolean disabled = false;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "organization_id")
private Organization organization;
@Entity
public class Organization extends GenericEntity {
@Column(length = 50)
@Required
private String name;
@Column(length = 50)
@Required
private String description;
@OneToMany(mappedBy = "organization", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Application> applications = new ArrayList<Application>();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment