Commit 22883c39 authored by Tomáš Biloš's avatar Tomáš Biloš
Browse files

Merge branch 'xbilos/mission' into 'main'

feat: mission entity, DAO

See merge request !7
parents 85a9e532 2869eeb7
package cz.fi.muni.pa165.seminar4.group7.secretservice.dao;
import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.Mission;
import org.springframework.data.repository.CrudRepository;
public interface MissionDao extends CrudRepository<Mission, Long> {
}
package cz.fi.muni.pa165.seminar4.group7.secretservice.entity;
import com.sun.istack.NotNull;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.sql.Date;
import java.util.List;
/**
* @author Tomáš Biloš
*/
@Entity
public class Mission {
@Id
@Column(name = "id", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private Long id;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private Date start;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private int duration;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String objective;
@OneToMany(mappedBy = "mission")
private List<Resource> resources;
// TODO
// @ManyToOne ?
// private Country country;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Mission mission = (Mission) o;
if (duration != mission.duration) return false;
if (!start.equals(mission.start)) return false;
return objective.equals(mission.objective);
}
@Override
public int hashCode() {
int result = start.hashCode();
result = 31 * result + duration;
result = 31 * result + objective.hashCode();
return result;
}
}
......@@ -4,8 +4,13 @@ import com.sun.istack.NotNull;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* @author Tomáš Biloš
*/
......@@ -23,11 +28,11 @@ public class Resource {
@Setter
private String name;
// @ManyToOne
// @JoinColumn(name = "mission_id")
// @Getter
// @Setter
// private Mission mission;
@ManyToOne
@JoinColumn(name = "mission_id")
@Getter
@Setter
private Mission mission;
public Resource() {
}
......
......@@ -19,6 +19,5 @@ class SecretServiceAppApplicationTests {
resourceDao.save(new Resource(1L, "Milk"));
assertThat(resourceDao.findByName("Milk").getName()).isEqualTo("Milk");
assertThat(resourceDao.findByName("Milk").getId()).isEqualTo(1L);
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment