Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dst1.model;
- import java.util.ArrayList;
- import java.util.List;
- import javax.persistence.*;
- @Entity
- @Table(name="User")
- @SecondaryTable(name="Address")
- @NamedQuery(
- name="findAllUsers",
- query="SELECT u FROM User u"
- )
- public class User {
- @Id
- @GeneratedValue
- private Long id;
- private String firstName;
- private String lastName;
- private String username;
- private String password;
- @OneToMany(targetEntity=Job.class, mappedBy="user", cascade=CascadeType.ALL)
- @OrderBy(value = "id asc")
- private List<Job> jobs = new ArrayList<Job>(); // creates job
- @Embedded
- @Column(nullable=true)
- private Address address;
- /* FIXME todo
- @ManyToMany
- @JoinTable(name="Membership",
- joinColumns={@JoinColumn(name="id")},
- inverseJoinColumns={@JoinColumn(name="id")})
- private List<Grid> grids; */
- public void setUsername(String username) {
- this.username = username;
- }
- public String getUsername() {
- return username;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public Long getId() {
- return id;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getPassword() {
- return password;
- }
- public void setJobs(List<Job> jobs) {
- this.jobs = jobs;
- }
- public List<Job> getJobs() {
- return jobs;
- }
- public void setAddress(Address address) {
- this.address = address;
- }
- public Address getAddress() {
- return address;
- }
- }
- package dst1.model;
- import javax.persistence.*;
- @Entity
- @NamedQuery(
- name="findAllJobs",
- query="SELECT j FROM Job j"
- )
- public class Job {
- @Id
- @GeneratedValue
- private Long id;
- @Transient
- private Integer numCPUs;
- @Transient
- private Integer executionTime;
- private Boolean isPaid;
- @OneToOne(cascade=CascadeType.ALL)
- private Environment environment; // needs env
- @OneToOne(cascade=CascadeType.ALL, mappedBy="job") // bi-directional // FIXME testen
- private Execution execution; // executed by
- @ManyToOne(optional=false)
- @JoinColumn(name="user_id") //FIXME testen, beide Richtungen
- private User user; // created by user
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public Integer getNumCPUs() {
- return numCPUs;
- }
- public void setNumCPUs(Integer numCPUs) {
- this.numCPUs = numCPUs;
- }
- public Integer getExecutionTime() {
- return executionTime;
- }
- public void setExecutionTime(Integer executionTime) {
- this.executionTime = executionTime;
- }
- public Boolean getIsPaid() {
- return isPaid;
- }
- public void setIsPaid(Boolean isPaid) {
- this.isPaid = isPaid;
- }
- public void setEnvironment(Environment environment) {
- this.environment = environment;
- }
- public Environment getEnvironment() {
- return environment;
- }
- public void setExecution(Execution execution) {
- this.execution = execution;
- }
- public Execution getExecution() {
- return execution;
- }
- public void setUser(User user) {
- this.user = user;
- }
- public User getUser() {
- return user;
- }
- }
- public class UserTest extends AbstractTest {
- @Test
- public void testhasManyJobs() {
- em.getTransaction().begin();
- User user = new User();
- user.setFirstName("Roland");
- user.setLastName("Schütz");
- user.setUsername("roland");
- user.setPassword("secure");
- em.persist(user);
- Job job1 = new Job();
- job1.setIsPaid(true);
- user.getJobs().add(job1);
- // job1.setUser(user); // should work without this
- em.persist(job1);
- em.getTransaction().commit();
- // find user to see if relations exists
- @SuppressWarnings("unchecked")
- List<Job> jobs = (List<Job>) em.createNamedQuery("findAllJobs").getResultList();
- assertEquals(1, jobs.size());
- User userNew = jobs.get(0).getUser();
- assertNotNull(userNew); // !!!! Fails here!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- assertTrue(userNew.getFirstName().equals("Roland"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement