Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.09 KB | None | 0 0
  1. @Entity
  2. @Table(name = "registrations")
  3. @Data
  4. public class Registration {
  5.  
  6. @Id
  7. @GeneratedValue(strategy = GenerationType.AUTO)
  8. @Column(name = "id")
  9. private Long id;
  10.  
  11. // other fields
  12.  
  13. }
  14.  
  15. @Entity
  16. @Table(name = "participants")
  17. @Data
  18. public class Participant {
  19.  
  20. @Id
  21. @GeneratedValue(strategy = GenerationType.AUTO)
  22. @Column(name = "id")
  23. private Long id;
  24.  
  25. @ManyToOne(targetEntity = Registration.class)
  26. @JoinColumn(name = "registration_id")
  27. private Registration registration;
  28.  
  29. @ManyToOne(fetch = FetchType.LAZY)
  30. @JoinColumn(name = "reservation_id")
  31. private Reservation reservation;
  32.  
  33. // other fields
  34. }
  35.  
  36. @Entity
  37. @Table(name = "reservations")
  38. @Data
  39. public class Reservation {
  40.  
  41. @Id
  42. @GeneratedValue(strategy = GenerationType.AUTO)
  43. @Column(name = "id")
  44. private Long id;
  45.  
  46. @ManyToOne(fetch = FetchType.LAZY)
  47. @JoinColumn(name = "room_assignment_id")
  48. private RoomAssignment roomAssignment;
  49.  
  50. @ManyToOne(fetch = FetchType.LAZY)
  51. @JoinColumn(name = "registration_id")
  52. private Registration registration;
  53.  
  54.  
  55. @OneToMany(fetch = FetchType.LAZY)
  56. @JoinColumn(name = "reservation_id")
  57. private List<Participant> participants;
  58.  
  59. // other fields
  60.  
  61. }
  62.  
  63. @Entity
  64. @Table(name = "room_assignments")
  65. @Data
  66. public class RoomAssignment {
  67.  
  68. @Id
  69. @GeneratedValue(strategy = GenerationType.AUTO)
  70. @Column(name = "id")
  71. private Long id;
  72.  
  73.  
  74. @OneToOne(fetch = FetchType.LAZY, mappedBy = "assignment", cascade = CascadeType.ALL)
  75. private Room room;
  76.  
  77. @OneToOne(fetch = FetchType.LAZY)
  78. @JoinColumn(name = "room_type_id", nullable = false)
  79. private RoomType roomType;
  80.  
  81.  
  82. @OneToMany(fetch = FetchType.LAZY)
  83. @JoinColumn(name = "room_assignment_id")
  84. private List<Reservation> reservations;
  85.  
  86. }
  87.  
  88. @Entity
  89. @Table(name = "rooms")
  90. @Data
  91. public class Room {
  92.  
  93. @Id
  94. @GeneratedValue(strategy = GenerationType.AUTO)
  95. @Column(name = "id")
  96. private Long id;
  97.  
  98. @Column(name = "room_name")
  99. private String roomName;
  100.  
  101. @OneToMany(fetch = FetchType.LAZY )
  102. @JoinColumn(name = "room_id")
  103. private List<RoomArrangement> roomArrangements;
  104.  
  105. @OneToOne(fetch = FetchType.LAZY)
  106. @JoinColumn(name = "assignment_id")
  107. private RoomAssignment assignment;
  108.  
  109. }
  110.  
  111. @Entity
  112. @Table(name = "room_arrangements")
  113. @Data
  114. public class RoomArrangement {
  115.  
  116. @Id
  117. @GeneratedValue(strategy = GenerationType.AUTO)
  118. @Column(name = "id")
  119. private Long id;
  120.  
  121. @ManyToOne(targetEntity = RoomType.class)
  122. @JoinColumn(name = "room_type_id", nullable = false)
  123. private RoomType roomType;
  124.  
  125. @ManyToOne(targetEntity = Room.class)
  126. @JoinColumn(name = "room_id", nullable = false)
  127. private Room room;
  128.  
  129. @Column(name = "priority")
  130. private Integer priority;
  131.  
  132. }
  133.  
  134. @Override
  135. public void deleteRegistration(Registration registration) {
  136. // Deleting payments
  137. paymentRepository.deleteAll(paymentRepository.findByRegistration(registration));
  138.  
  139. // Deleting participants
  140. participantRepository.deleteAll(participantRepository.findByRegistration(registration));
  141.  
  142. List<Reservation> reservations = reservationRepository.findByRegistration(registration);
  143. for (Reservation res : reservations) {
  144. RoomAssignment assignment = roomAssignmentRepository.findByReservationsContains(res);
  145.  
  146. if (reservationRepository.findByRoomAssignment(assignment).size() == 1) {
  147. reservationRepository.delete(res);
  148.  
  149. Room room = roomRepository.findByAssignment(assignment);
  150. room.setAssignment(null);
  151. roomRepository.save(room);
  152.  
  153. roomAssignmentRepository.delete(assignment);
  154. } else {
  155. reservationRepository.delete(res);
  156. }
  157. }
  158.  
  159. registrationRepository.delete(registration);
  160. }
  161.  
  162. Column 'room_id' cannot be null
  163.  
  164. select payment0_.id as id1_1_, payment0_.amount as amount2_1_, payment0_.paypal_order_id as paypal_o3_1_, payment0_.registration_id as registra5_1_, payment0_.type as type4_1_ from payments payment0_ where payment0_.registration_id=?
  165.  
  166. select participan0_.id as id1_0_, participan0_.birth_date as birth_da2_0_, participan0_.birth_place as birth_pl3_0_, participan0_.email as email4_0_, participan0_.facebook_profile as facebook5_0_, participan0_.first_name as first_na6_0_, participan0_.first_time as first_ti7_0_, participan0_.food_intolerances as food_int8_0_, participan0_.food_preferences as food_pre9_0_, participan0_.gender as gender10_0_, participan0_.last_name as last_na11_0_, participan0_.other_food_notes as other_f12_0_, participan0_.registration_id as registr13_0_, participan0_.reservation_id as reserva14_0_ from participants participan0_ where participan0_.registration_id=?
  167. delete from participants where id=?
  168.  
  169. select reservatio0_.id as id1_3_, reservatio0_.monday as monday2_3_, reservatio0_.registration_id as registra4_3_, reservatio0_.room_assignment_id as room_ass5_3_, reservatio0_.thursday as thursday3_3_ from reservations reservatio0_ where reservatio0_.registration_id=?
  170.  
  171. select roomassign0_.id as id1_5_, roomassign0_.room_type_id as room_typ2_5_ from room_assignments roomassign0_ where ? in (select reservatio1_.id from reservations reservatio1_ where roomassign0_.id=reservatio1_.room_assignment_id)
  172. select room0_.id as id1_7_0_, room0_.assignment_id as assignme3_7_0_, room0_.room_name as room_nam2_7_0_ from rooms room0_ where room0_.assignment_id=?
  173.  
  174. select reservatio0_.id as id1_3_, reservatio0_.monday as monday2_3_, reservatio0_.registration_id as registra4_3_, reservatio0_.room_assignment_id as room_ass5_3_, reservatio0_.thursday as thursday3_3_ from reservations reservatio0_ where reservatio0_.room_assignment_id=?
  175. update participants set reservation_id=null where reservation_id=?
  176. delete from reservations where id=?
  177.  
  178. select room0_.id as id1_7_, room0_.assignment_id as assignme3_7_, room0_.room_name as room_nam2_7_ from rooms room0_ where room0_.assignment_id=?
  179.  
  180. update rooms set assignment_id=?, room_name=? where id=?
  181.  
  182. update reservations set room_assignment_id=null where room_assignment_id=?
  183. update room_arrangements set room_id=null where room_id=?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement