diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index db06ab1..3fa7bae 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,6 +7,7 @@
+
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index c6d4cac..bd15f4b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,44 @@
com.zipcode.lab
jpaentity
1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.6.0
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.12.3
+
+
+ mysql
+ mysql-connector-java
+ 8.0.23
+
+
+ junit
+ junit
+ RELEASE
+ test
+
+
+
+ org.hibernate
+ hibernate-core
+ 5.5.3.Final
+
+
\ No newline at end of file
diff --git a/src/main/java/entities/Album.java b/src/main/java/entities/Album.java
new file mode 100644
index 0000000..3627135
--- /dev/null
+++ b/src/main/java/entities/Album.java
@@ -0,0 +1,74 @@
+package entities;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "Album")
+public class Album {
+
+ @Id
+ private Long id;
+ private String title;
+ private String genre;
+ private String artistName;
+
+ @ManyToOne(fetch = FetchType.LAZY, optional = false)
+ @JoinColumn(name = "name", nullable = false)
+ private Artist artist;
+
+ public Album(){}
+
+ public Album(Long id, String title, String genre, String artistName, Artist artist){
+ this.id = id;
+ this.title = title;
+ this.genre = genre;
+ this.artistName = artistName;
+ this.artist = artist;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getGenre() {
+ return genre;
+ }
+
+ public void setGenre(String genre) {
+ this.genre = genre;
+ }
+
+ public String getArtistName() {
+ return artistName;
+ }
+
+ public void setArtistName(String artistName) {
+ this.artistName = artistName;
+ }
+
+ public Artist getArtist() { return artist; }
+
+ public void setArtist(Artist artist) { this.artist = artist; }
+
+ @Override
+ public String toString() {
+ return "Painting {" +
+ "ID = " + id +
+ ", Title = " + title +
+ ", Medium = " + genre +
+ ", Artist = " + artistName +
+ "}";
+ }
+}
diff --git a/src/main/java/entities/Artist.java b/src/main/java/entities/Artist.java
new file mode 100644
index 0000000..153c0e1
--- /dev/null
+++ b/src/main/java/entities/Artist.java
@@ -0,0 +1,71 @@
+package entities;
+
+import javax.persistence.*;
+import java.util.HashSet;
+import java.util.Set;
+
+@Entity
+@Table(name = "Artist")
+public class Artist {
+
+ @Id
+ private Long id;
+ private String name;
+ private String instrument;
+ private Integer age;
+
+ @OneToMany(mappedBy = "artist", cascade = CascadeType.ALL,
+ fetch = FetchType.LAZY, orphanRemoval = true)
+ private Set album = new HashSet<>();
+
+ public Artist() {}
+
+ public Artist(Long id, String name, String instrument, Integer age) {
+ this.id = id;
+ this.name = name;
+ this.instrument = instrument;
+ this.age = age;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getInstrument() {
+ return instrument;
+ }
+
+ public void setInstrument(String instrument) {
+ this.instrument = instrument;
+ }
+
+ public Integer getAge() {
+ return age;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ @Override
+ public String toString() {
+ return "Artist {" +
+ "ID = " + id +
+ ", Name = " + name +
+ ", Birth Place = " + instrument +
+ ", Birth Year = " + age +
+ "}";
+ }
+}
diff --git a/src/main/java/entities/DELETEME.txt b/src/main/java/entities/DELETEME.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/src/main/java/main/NewMainApp.java b/src/main/java/main/NewMainApp.java
new file mode 100644
index 0000000..27f54ba
--- /dev/null
+++ b/src/main/java/main/NewMainApp.java
@@ -0,0 +1,47 @@
+package main;
+
+import entities.Artist;
+import entities.Album;
+import services.ArtistService;
+import services.AlbumService;
+import java.util.ArrayList;
+import java.util.List;
+
+public class NewMainApp {
+
+ public static void main(String[] args) {
+
+ ArtistService artistService = new ArtistService();
+ AlbumService albumService = new AlbumService();
+ List artistList = new ArrayList<>();
+ List albumList = new ArrayList<>();
+
+ Artist artist1 = new Artist(1L, "Dippity", "Triangle", 20);
+ Artist artist2 = new Artist(2L, "Pandotopanzanite", "Vocals", 45);
+ artistList.add(artist1);
+ artistList.add(artist2);
+
+ Album album1 = new Album(1L, "All Them Dips", "Hip Hop", "Dippity", artist1);
+ Album album2 = new Album(2L, "Gems", "Rock", "Pandotopanzanite", artist2);
+ albumList.add(album1);
+ albumList.add(album2);
+
+
+ //CREATE
+ artistService.createMultiple(artistList);
+ albumService.createMultiple(albumList);
+
+
+ //READ
+ Artist art1 = artistService.findById(1L);
+ Artist art2 = artistService.findById(2L);
+ System.out.println(art1.toString());
+ System.out.println(art2.toString());
+
+ Album alb1 = albumService.findById(1L);
+ Album alb2 = albumService.findById(2L);
+ System.out.println(alb1.toString());
+ System.out.println(alb2.toString());
+
+ }
+}
diff --git a/src/main/java/services/AlbumService.java b/src/main/java/services/AlbumService.java
new file mode 100644
index 0000000..24b7ff5
--- /dev/null
+++ b/src/main/java/services/AlbumService.java
@@ -0,0 +1,57 @@
+package services;
+
+import entities.Album;
+import java.util.List;
+
+public class AlbumService implements Service {
+
+
+ public void create(Album album) {
+ entityManager.getTransaction().begin();
+ entityManager.persist(album);
+ entityManager.getTransaction().commit();
+ }
+
+ public void createMultiple(List list) {
+ entityManager.getTransaction().begin();
+ list.stream()
+ .forEach(album -> entityManager.persist(album));
+ entityManager.getTransaction().commit();
+ }
+
+ public List findAll() {
+ return entityManager.createQuery("SELECT p FROM Painting p", Album.class).getResultList();
+ }
+
+ public Album findById(Long id) {
+ Album album = entityManager.find(Album.class, id);
+ return album;
+ }
+
+ public void update(Long id, Album newAlbumData) {
+ entityManager.getTransaction().begin();
+ Album album = entityManager.find(Album.class, id);
+
+ album.setId(newAlbumData.getId());
+ album.setTitle(newAlbumData.getTitle());
+ album.setGenre(newAlbumData.getGenre());
+ album.setArtistName(newAlbumData.getArtistName());
+
+ entityManager.getTransaction().commit();
+ }
+
+ public void delete(Long id) {
+ Album album = entityManager.find(Album.class, id);
+ entityManager.getTransaction().begin();
+ entityManager.remove(album);
+ entityManager.getTransaction().commit();
+ System.out.printf("%s has been deleted", album.toString());
+ }
+
+ public void delete(Album album) {
+ entityManager.getTransaction().begin();
+ entityManager.remove(album);
+ entityManager.getTransaction().commit();
+ System.out.printf("%s has been deleted", album.toString());
+ }
+}
diff --git a/src/main/java/services/ArtistService.java b/src/main/java/services/ArtistService.java
new file mode 100644
index 0000000..ab56f3d
--- /dev/null
+++ b/src/main/java/services/ArtistService.java
@@ -0,0 +1,57 @@
+package services;
+
+import entities.Artist;
+import java.util.List;
+
+public class ArtistService implements Service {
+
+
+ public void create(Artist artist) {
+ entityManager.getTransaction().begin();
+ entityManager.persist(artist);
+ entityManager.getTransaction().commit();
+ }
+
+ public void createMultiple(List list) {
+ entityManager.getTransaction().begin();
+ list.stream()
+ .forEach(artist -> entityManager.persist(artist));
+ entityManager.getTransaction().commit();
+ }
+
+ public List findAll() {
+ return entityManager.createQuery("SELECT a FROM Artist a", Artist.class).getResultList();
+ }
+
+ public Artist findById(Long id) {
+ Artist artist = entityManager.find(Artist.class, id);
+ return artist;
+ }
+
+ public void update(Long id, Artist newArtistData) {
+ entityManager.getTransaction().begin();
+ Artist artist = entityManager.find(Artist.class, id);
+
+ artist.setId(newArtistData.getId());
+ artist.setName(newArtistData.getName());
+ artist.setInstrument(newArtistData.getInstrument());
+ artist.setAge(newArtistData.getAge());
+
+ entityManager.getTransaction().commit();
+ }
+
+ public void delete(Long id) {
+ Artist artist = entityManager.find(Artist.class, id);
+ entityManager.getTransaction().begin();
+ entityManager.remove(artist);
+ entityManager.getTransaction().commit();
+ System.out.printf("%s has been deleted", artist.toString());
+ }
+
+ public void delete(Artist artist) {
+ entityManager.getTransaction().begin();
+ entityManager.remove(artist);
+ entityManager.getTransaction().commit();
+ System.out.printf("%s has been deleted", artist.toString());
+ }
+}
diff --git a/src/main/java/services/DELETEME.txt b/src/main/java/services/DELETEME.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/src/main/java/services/Service.java b/src/main/java/services/Service.java
new file mode 100644
index 0000000..dec9c22
--- /dev/null
+++ b/src/main/java/services/Service.java
@@ -0,0 +1,14 @@
+package services;
+
+import javax.persistence.*;
+
+
+public interface Service {
+
+ @PersistenceUnit
+ EntityManagerFactory managerFactory = Persistence.createEntityManagerFactory("myunit");
+ @PersistenceContext
+ EntityManager entityManager = managerFactory.createEntityManager();
+
+}
+
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 0000000..21811ab
--- /dev/null
+++ b/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/test/java/entities/AlbumTest.java b/src/test/java/entities/AlbumTest.java
new file mode 100644
index 0000000..87ee3a3
--- /dev/null
+++ b/src/test/java/entities/AlbumTest.java
@@ -0,0 +1,124 @@
+package entities;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class AlbumTest {
+
+ Artist artist = new Artist(1L, "Edward Hopper", "New York", 1882);
+
+ @Test
+ public void testGetId() {
+ //given
+ Long expected = 1L;
+ Album album = new Album(1L, "Nighthawks", "oil", "Edward Hopper", artist);
+ //when
+ Long actual = album.getId();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetId() {
+ //given
+ Long expected = 1L;
+ Album album = new Album();
+ //when
+ album.setId(expected);
+ Long actual = album.getId();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetTitle() {
+ //given
+ String expected = "Nighthawks";
+ Album album = new Album(1L, "Nighthawks", "oil", "Edward Hopper", artist);
+ //when
+ String actual = album.getTitle();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetTitle() {
+ //given
+ String expected = "Nighthawks";
+ Album album = new Album();
+ //when
+ album.setTitle(expected);
+ String actual = album.getTitle();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetMedium() {
+ //given
+ String expected = "oil";
+ Album album = new Album(1L, "Nighthawks", "oil", "Edward Hopper", artist);
+ //when
+ String actual = album.getGenre();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetMedium() {
+ //given
+ String expected = "oil";
+ Album album = new Album();
+ //when
+ album.setGenre(expected);
+ String actual = album.getGenre();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetArtistName() {
+ //given
+ String expected = "Edward Hopper";
+ Album album = new Album(1L, "Nighthawks", "oil", "Edward Hopper", artist);
+ //when
+ String actual = album.getArtistName();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetArtistName() {
+ //given
+ String expected = "Edward Hopper";
+ Album album = new Album();
+ //when
+ album.setArtistName(expected);
+ String actual = album.getArtistName();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetArtist() {
+ //given
+ Artist expected = artist;
+ Album album = new Album(1L, "Nighthawks", "oil", "Edward Hopper", artist);
+ //when
+ Artist actual = album.getArtist();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetArtist() {
+ //given
+ Artist expected = new Artist(1L, "Edward Hopper", "New York", 1882);
+ Album album = new Album();
+ //when
+ album.setArtist(expected);
+ Artist actual = album.getArtist();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/entities/ArtistTest.java b/src/test/java/entities/ArtistTest.java
new file mode 100644
index 0000000..de5faf4
--- /dev/null
+++ b/src/test/java/entities/ArtistTest.java
@@ -0,0 +1,100 @@
+package entities;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+
+public class ArtistTest {
+
+ @Test
+ public void testGetId() {
+ //given
+ Long expected = 1L;
+ Artist artist = new Artist(expected, "Edward Hopper", "New York", 1882);
+ //when
+ Long actual = artist.getId();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetId() {
+ //given
+ Long expected = 1L;
+ Artist artist = new Artist();
+ //when
+ artist.setId(expected);
+ Long actual = artist.getId();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetName() {
+ //given
+ String expected = "Edward Hopper";
+ Artist artist = new Artist(1L, "Edward Hopper", "New York", 1882);
+ //when
+ String actual = artist.getName();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetName() {
+ //given
+ String expected = "Edward Hopper";
+ Artist artist = new Artist();
+ //when
+ artist.setName(expected);
+ String actual = artist.getName();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetBirthPlace() {
+ //given
+ String expected = "New York";
+ Artist artist = new Artist(1L, "Edward Hopper", "New York", 1882);
+ //when
+ String actual = artist.getInstrument();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetBirthPlace() {
+ //given
+ String expected = "New York";
+ Artist artist = new Artist();
+ //when
+ artist.setInstrument(expected);
+ String actual = artist.getInstrument();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetBirthYear() {
+ //given
+ Integer expected = 1882;
+ Artist artist = new Artist(1L, "Edward Hopper", "New York", 1882);
+ //when
+ Integer actual = artist.getAge();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSetBirthYear() {
+ //given
+ Integer expected = 1882;
+ Artist artist = new Artist();
+ //when
+ artist.setAge(expected);
+ Integer actual = artist.getAge();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/entities/DELETEME.txt b/src/test/java/entities/DELETEME.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/src/test/java/services/AlbumServiceTest.java b/src/test/java/services/AlbumServiceTest.java
new file mode 100644
index 0000000..5c348f0
--- /dev/null
+++ b/src/test/java/services/AlbumServiceTest.java
@@ -0,0 +1,116 @@
+package services;
+
+import entities.Artist;
+import entities.Album;
+import org.junit.Assert;
+import org.junit.Test;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AlbumServiceTest {
+
+ AlbumService albumService = new AlbumService();
+ Artist vanGogh = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ Artist hopper = new Artist(2L, "Edward Hopper", "New York", 1882);
+
+
+ @Test
+ public void testCreate() {
+ //given
+ Album album = new Album(1L, "Almond Blossom", "oil", "Vincent van Gogh", vanGogh);
+ String expected = album.toString();
+ //when
+ albumService.create(album);
+ Album album1 = albumService.findById(1L);
+ String actual = album1.toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ albumService.delete(album);
+ }
+
+ @Test
+ public void testFindAll() {
+ //given
+ Album almondBlossom = new Album(1L, "Almond Blossom", "oil", "Vincent van Gogh", vanGogh);
+ Album nightHawks = new Album(2L, "NightHawks", "oil", "Edward Hopper", hopper);
+ List list = new ArrayList<>();
+ list.add(almondBlossom);
+ list.add(nightHawks);
+ String expected = list.toString();
+ //when
+ albumService.createMultiple(list);
+ String actual = albumService.findAll().toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ albumService.delete(almondBlossom);
+ albumService.delete(nightHawks);
+ }
+
+ @Test
+ public void testFindById() {
+ //given
+ Album album = new Album(1L, "Almond Blossom", "oil", "Vincent van Gogh", vanGogh);
+ List list = new ArrayList<>();
+ list.add(album);
+ String expected = album.toString();
+ //when
+ albumService.create(album);
+ Album album1 = albumService.findById(1L);
+ String actual = album1.toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ albumService.delete(album);
+ }
+
+ @Test
+ public void testUpdate() {
+ //given
+ Album almondBlossom = new Album(1L, "Almond Blossom", "oil", "Vincent van Gogh", vanGogh);
+ Album nightHawks = new Album(1L, "NightHawks", "oil", "Edward Hopper", hopper);
+ String expected = nightHawks.toString();
+ //when
+ albumService.create(almondBlossom);
+ albumService.update(1L, nightHawks);
+ Album album = albumService.findById(1L);
+ String actual = album.toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ albumService.delete(album);
+ }
+
+ @Test
+ public void testDeleteByID() {
+ //given
+ Album almondBlossom = new Album(1L, "Almond Blossom", "oil", "Vincent van Gogh", vanGogh);
+ Album nightHawks = new Album(2L, "NightHawks", "oil", "Edward Hopper", hopper);
+ List list = new ArrayList<>();
+ list.add(almondBlossom);
+ list.add(nightHawks);
+ int expected = 1;
+ //when
+ albumService.createMultiple(list);
+ albumService.delete(2L);
+ int actual = albumService.findAll().size();
+ //then
+ Assert.assertEquals(expected, actual);
+ albumService.delete(1L);
+ }
+
+ @Test
+ public void testDeleteByObject() {
+ //given
+ Album almondBlossom = new Album(1L, "Almond Blossom", "oil", "Vincent van Gogh", vanGogh);
+ Album nightHawks = new Album(2L, "NightHawks", "oil", "Edward Hopper", hopper);
+ List list = new ArrayList<>();
+ list.add(almondBlossom);
+ list.add(nightHawks);
+ int expected = 1;
+ //when
+ albumService.createMultiple(list);
+ albumService.delete(nightHawks);
+ int actual = albumService.findAll().size();
+ //then
+ Assert.assertEquals(expected, actual);
+ albumService.delete(1L);
+ }
+}
diff --git a/src/test/java/services/ArtistServiceTest.java b/src/test/java/services/ArtistServiceTest.java
new file mode 100644
index 0000000..7f15694
--- /dev/null
+++ b/src/test/java/services/ArtistServiceTest.java
@@ -0,0 +1,112 @@
+package services;
+
+import entities.Artist;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ArtistServiceTest {
+
+ ArtistService artistService = new ArtistService();
+
+
+ @Test
+ public void testCreate() {
+ //given
+ Artist artist = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ String expected = artist.toString();
+ //when
+ artistService.create(artist);
+ Artist artist1 = artistService.findById(1L);
+ String actual = artist1.toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ artistService.delete(artist);
+ }
+
+ @Test
+ public void testFindAll() {
+ //given
+ Artist vanGogh = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ Artist hopper = new Artist(2L, "Edward Hopper", "New York", 1882);
+ List list = new ArrayList<>();
+ list.add(vanGogh);
+ list.add(hopper);
+ String expected = list.toString();
+ //when
+ artistService.createMultiple(list);
+ String actual = artistService.findAll().toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ artistService.delete(vanGogh);
+ artistService.delete(hopper);
+ }
+
+ @Test
+ public void testFindById() {
+ //given
+ Artist artist = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ String expected = artist.toString();
+ //when
+ artistService.create(artist);
+ Artist artist1 = artistService.findById(1L);
+ String actual = artist1.toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ artistService.delete(artist);
+ }
+
+ @Test
+ public void testUpdate() {
+ //given
+ Artist vanGogh = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ Artist hopper = new Artist(1L, "Edward Hopper", "New York", 1882);
+ String expected = hopper.toString();
+ //when
+ artistService.create(vanGogh);
+ artistService.update(1L, hopper);
+ Artist artist = artistService.findById(1L);
+ String actual = artist.toString();
+ //then
+ Assert.assertEquals(expected, actual);
+ artistService.delete(artist);
+ }
+
+ @Test
+ public void testDeleteByID() {
+ //given
+ Artist vanGogh = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ Artist hopper = new Artist(2L, "Edward Hopper", "New York", 1882);
+ List list = new ArrayList<>();
+ list.add(vanGogh);
+ list.add(hopper);
+ int expected = 1;
+ //when
+ artistService.createMultiple(list);
+ artistService.delete(2L);
+ int actual = artistService.findAll().size();
+ //then
+ Assert.assertEquals(expected, actual);
+ artistService.delete(1L);
+ }
+
+ @Test
+ public void testDeleteByObject() {
+ //given
+ Artist vanGogh = new Artist(1L, "Vincent van Gogh", "Netherlands", 1853);
+ Artist hopper = new Artist(2L, "Edward Hopper", "New York", 1882);
+ List list = new ArrayList<>();
+ list.add(vanGogh);
+ list.add(hopper);
+ int expected = 1;
+ //when
+ artistService.createMultiple(list);
+ artistService.delete(hopper);
+ int actual = artistService.findAll().size();
+ //then
+ Assert.assertEquals(expected, actual);
+ artistService.delete(1L);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/services/DELETEME.txt b/src/test/java/services/DELETEME.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/target/classes/META-INF/persistence.xml b/target/classes/META-INF/persistence.xml
new file mode 100644
index 0000000..21811ab
--- /dev/null
+++ b/target/classes/META-INF/persistence.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/target/classes/entities/Album.class b/target/classes/entities/Album.class
new file mode 100644
index 0000000..c5b8693
Binary files /dev/null and b/target/classes/entities/Album.class differ
diff --git a/target/classes/entities/Artist.class b/target/classes/entities/Artist.class
new file mode 100644
index 0000000..e167daa
Binary files /dev/null and b/target/classes/entities/Artist.class differ
diff --git a/target/classes/main/NewMainApp.class b/target/classes/main/NewMainApp.class
new file mode 100644
index 0000000..ecb1b7c
Binary files /dev/null and b/target/classes/main/NewMainApp.class differ
diff --git a/target/classes/services/AlbumService.class b/target/classes/services/AlbumService.class
new file mode 100644
index 0000000..aa60577
Binary files /dev/null and b/target/classes/services/AlbumService.class differ
diff --git a/target/classes/services/ArtistService.class b/target/classes/services/ArtistService.class
new file mode 100644
index 0000000..3a98c2a
Binary files /dev/null and b/target/classes/services/ArtistService.class differ
diff --git a/target/classes/services/Service.class b/target/classes/services/Service.class
new file mode 100644
index 0000000..3f5f910
Binary files /dev/null and b/target/classes/services/Service.class differ
diff --git a/target/test-classes/entities/AlbumTest.class b/target/test-classes/entities/AlbumTest.class
new file mode 100644
index 0000000..ba48e07
Binary files /dev/null and b/target/test-classes/entities/AlbumTest.class differ
diff --git a/target/test-classes/entities/ArtistTest.class b/target/test-classes/entities/ArtistTest.class
new file mode 100644
index 0000000..9f43650
Binary files /dev/null and b/target/test-classes/entities/ArtistTest.class differ
diff --git a/target/test-classes/services/AlbumServiceTest.class b/target/test-classes/services/AlbumServiceTest.class
new file mode 100644
index 0000000..f6fb6ed
Binary files /dev/null and b/target/test-classes/services/AlbumServiceTest.class differ
diff --git a/target/test-classes/services/ArtistServiceTest.class b/target/test-classes/services/ArtistServiceTest.class
new file mode 100644
index 0000000..d38214b
Binary files /dev/null and b/target/test-classes/services/ArtistServiceTest.class differ