Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.26 KB | None | 0 0
  1. package dst1.model;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import javax.persistence.*;
  7.  
  8. @Entity
  9. @Table(name="User")
  10. @SecondaryTable(name="Address")
  11. @NamedQuery(
  12. name="findAllUsers",
  13. query="SELECT u FROM User u"
  14. )
  15. public class User {
  16.  
  17. @Id
  18. @GeneratedValue
  19. private Long id;
  20. private String firstName;
  21. private String lastName;
  22. private String username;
  23. private String password;
  24. @OneToMany(targetEntity=Job.class, mappedBy="user", cascade=CascadeType.ALL)
  25. @OrderBy(value = "id asc")
  26. private List<Job> jobs = new ArrayList<Job>(); // creates job
  27.  
  28. @Embedded
  29. @Column(nullable=true)
  30. private Address address;
  31.  
  32. /* FIXME todo
  33. @ManyToMany
  34. @JoinTable(name="Membership",
  35. joinColumns={@JoinColumn(name="id")},
  36. inverseJoinColumns={@JoinColumn(name="id")})
  37. private List<Grid> grids; */
  38.  
  39. public void setUsername(String username) {
  40. this.username = username;
  41. }
  42. public String getUsername() {
  43. return username;
  44. }
  45. public void setId(Long id) {
  46. this.id = id;
  47. }
  48. public Long getId() {
  49. return id;
  50. }
  51. public void setFirstName(String firstName) {
  52. this.firstName = firstName;
  53. }
  54. public String getFirstName() {
  55. return firstName;
  56. }
  57. public void setLastName(String lastName) {
  58. this.lastName = lastName;
  59. }
  60. public String getLastName() {
  61. return lastName;
  62. }
  63. public void setPassword(String password) {
  64. this.password = password;
  65. }
  66. public String getPassword() {
  67. return password;
  68. }
  69. public void setJobs(List<Job> jobs) {
  70. this.jobs = jobs;
  71. }
  72. public List<Job> getJobs() {
  73. return jobs;
  74. }
  75. public void setAddress(Address address) {
  76. this.address = address;
  77. }
  78. public Address getAddress() {
  79. return address;
  80. }
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95. package dst1.model;
  96.  
  97. import javax.persistence.*;
  98.  
  99. @Entity
  100. @NamedQuery(
  101. name="findAllJobs",
  102. query="SELECT j FROM Job j"
  103. )
  104. public class Job {
  105.  
  106. @Id
  107. @GeneratedValue
  108. private Long id;
  109. @Transient
  110. private Integer numCPUs;
  111. @Transient
  112. private Integer executionTime;
  113. private Boolean isPaid;
  114. @OneToOne(cascade=CascadeType.ALL)
  115. private Environment environment; // needs env
  116. @OneToOne(cascade=CascadeType.ALL, mappedBy="job") // bi-directional // FIXME testen
  117. private Execution execution; // executed by
  118. @ManyToOne(optional=false)
  119. @JoinColumn(name="user_id") //FIXME testen, beide Richtungen
  120. private User user; // created by user
  121.  
  122. public Long getId() {
  123. return id;
  124. }
  125. public void setId(Long id) {
  126. this.id = id;
  127. }
  128. public Integer getNumCPUs() {
  129. return numCPUs;
  130. }
  131. public void setNumCPUs(Integer numCPUs) {
  132. this.numCPUs = numCPUs;
  133. }
  134. public Integer getExecutionTime() {
  135. return executionTime;
  136. }
  137. public void setExecutionTime(Integer executionTime) {
  138. this.executionTime = executionTime;
  139. }
  140. public Boolean getIsPaid() {
  141. return isPaid;
  142. }
  143. public void setIsPaid(Boolean isPaid) {
  144. this.isPaid = isPaid;
  145. }
  146. public void setEnvironment(Environment environment) {
  147. this.environment = environment;
  148. }
  149. public Environment getEnvironment() {
  150. return environment;
  151. }
  152. public void setExecution(Execution execution) {
  153. this.execution = execution;
  154. }
  155. public Execution getExecution() {
  156. return execution;
  157. }
  158. public void setUser(User user) {
  159. this.user = user;
  160. }
  161. public User getUser() {
  162. return user;
  163. }
  164. }
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184. public class UserTest extends AbstractTest {
  185.  
  186. @Test
  187. public void testhasManyJobs() {
  188. em.getTransaction().begin();
  189.  
  190. User user = new User();
  191. user.setFirstName("Roland");
  192. user.setLastName("Schütz");
  193. user.setUsername("roland");
  194. user.setPassword("secure");
  195. em.persist(user);
  196.  
  197. Job job1 = new Job();
  198. job1.setIsPaid(true);
  199. user.getJobs().add(job1);
  200. // job1.setUser(user); // should work without this
  201.  
  202. em.persist(job1);
  203.  
  204. em.getTransaction().commit();
  205.  
  206. // find user to see if relations exists
  207. @SuppressWarnings("unchecked")
  208. List<Job> jobs = (List<Job>) em.createNamedQuery("findAllJobs").getResultList();
  209. assertEquals(1, jobs.size());
  210. User userNew = jobs.get(0).getUser();
  211. assertNotNull(userNew); // !!!! Fails here!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  212.  
  213. assertTrue(userNew.getFirstName().equals("Roland"));
  214.  
  215. }
  216. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement