Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- public class User {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @ManyToMany(
- cascade = {CascadeType.PERSIST, CascadeType.MERGE},
- fetch = FetchType.EAGER)
- @JoinTable(
- name = "user_role",
- joinColumns = @JoinColumn(name = "user_id"),
- inverseJoinColumns = @JoinColumn(name = "role_id"))
- private Set<Role> roles;
- // other fields, constructors, getters/setters
- }
- @Entity
- public class Role {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @ManyToMany(mappedBy = "roles")
- private Set<User> users;
- // other fields, constructors, getters/setters
- }
- @Entity
- public class Order {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @ManyToOne(optional = false)
- @JoinColumn(name = "user_id")
- private User submitter;
- @ManyToOne(optional = false)
- @JoinColumn(name = "user_id")
- private User approver;
- // other fields, constructors, getters/setters
- }
- @Entity
- public class Order {
- // id, submitter, approver fields, see in previous snippet
- @OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
- private Set<OrderItem> items;
- // other fields, constructors, getters/setters
- }
- @Entity
- public class OrderItem {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "order_item_id")
- private Order order;
- // other fields, constructors, getters/setters
- }
- @Entity
- public class Order {
- // fields from previous snippets
- @OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
- private Set<OrderAttachment> attachments;
- // other fields, constructors, getters/setters
- }
- @Entity
- public class OrderAttachment {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- private String fileName;
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "order_attachment_id")
- private Order order;
- @Lob
- @Basic(fetch = FetchType.LAZY)
- private byte[] file;
- }
Add Comment
Please, Sign In to add comment