Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import guru.springframework.spring6webapp.domain.Author;
import guru.springframework.spring6webapp.domain.Book;
import guru.springframework.spring6webapp.domain.Publisher;
import guru.springframework.spring6webapp.repositories.IAuthorRepositroy;
import guru.springframework.spring6webapp.repositories.IBookRepository;
import guru.springframework.spring6webapp.repositories.IPublisher;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

Expand All @@ -12,10 +14,12 @@ public class BootstrapData implements CommandLineRunner {

private final IAuthorRepositroy iAuthorRepositroy;
private final IBookRepository iBookRepository;
private final IPublisher iPublisher;

public BootstrapData(IAuthorRepositroy iAuthorRepositroy, IBookRepository iBookRepository) {
public BootstrapData(IAuthorRepositroy iAuthorRepositroy, IBookRepository iBookRepository, IPublisher iPublisher) {
this.iAuthorRepositroy = iAuthorRepositroy;
this.iBookRepository = iBookRepository;
this.iPublisher = iPublisher;
}


Expand All @@ -29,8 +33,16 @@ public void run(String... args) throws Exception {
book1.setTitle("Spring Framework 6");
book1.setIsbn("1234567890");

Publisher publisher = new Publisher();
publisher.setPublisherName("Spring Books Publishing");
publisher.setPublisherAddress("123 Spring St");
publisher.setPublisherCity("Springfield");
publisher.setPublisherState("Spring State");
publisher.setPublisherZip("12345");

Author authorSaved1 = iAuthorRepositroy.save(author1);
Book bookSaved1 = iBookRepository.save(book1);
Publisher publisherSaved = iPublisher.save(publisher);

Author author2 = new Author();
author2.setFirstName("Tawfiq");
Expand All @@ -40,8 +52,16 @@ public void run(String... args) throws Exception {
book2.setTitle("Spring Boot 3");
book2.setIsbn("0987654321");

Publisher publisher2 = new Publisher();
publisher2.setPublisherName("Spring Boot Books Publishing");
publisher2.setPublisherAddress("456 Spring Boot St");
publisher2.setPublisherCity("Spring Boot City");
publisher2.setPublisherState("Spring Boot State");
publisher2.setPublisherZip("54321");

Author authorSaved2 = iAuthorRepositroy.save(author2);
Book bookSaved2 = iBookRepository.save(book2);
Publisher publisherSaved2 = iPublisher.save(publisher2);

authorSaved1.getBooks().add(bookSaved1);
authorSaved2.getBooks().add(bookSaved2);
Expand All @@ -52,6 +72,7 @@ public void run(String... args) throws Exception {
System.out.println("Bootstrap Data Loaded");
System.out.println("Number of Authors: " + iAuthorRepositroy.count());
System.out.println("Number of Books: " + iBookRepository.count());
System.out.println("Number of Publishers: " + iPublisher.count());
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package guru.springframework.spring6webapp.domain;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

import java.util.Objects;

@Entity
public class Publisher {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long idPublisher;
private String publisherName;
private String publisherAddress;
private String publisherCity;
private String publisherState;
private String publisherZip;

public Long getIdPublisher() {
return idPublisher;
}

public void setIdPublisher(Long idPublisher) {
this.idPublisher = idPublisher;
}

public String getPublisherName() {
return publisherName;
}

public void setPublisherName(String publisherName) {
this.publisherName = publisherName;
}

public String getPublisherAddress() {
return publisherAddress;
}

public void setPublisherAddress(String publisherAddress) {
this.publisherAddress = publisherAddress;
}

public String getPublisherCity() {
return publisherCity;
}

public void setPublisherCity(String publisherCity) {
this.publisherCity = publisherCity;
}

public String getPublisherState() {
return publisherState;
}

public void setPublisherState(String publisherState) {
this.publisherState = publisherState;
}

public String getPublisherZip() {
return publisherZip;
}

public void setPublisherZip(String publisherZip) {
this.publisherZip = publisherZip;
}

@Override
public String toString() {
return "Publisher{" +
"idPublisher=" + idPublisher +
", publisherName='" + publisherName + '\'' +
", publisherAddress='" + publisherAddress + '\'' +
", publisherCity='" + publisherCity + '\'' +
", publisherState='" + publisherState + '\'' +
", publisherZip='" + publisherZip + '\'' +
'}';
}

@Override
public final boolean equals(Object o) {
if (!(o instanceof Publisher publisher)) return false;

return Objects.equals(getIdPublisher(), publisher.getIdPublisher());
}

@Override
public int hashCode() {
return Objects.hashCode(getIdPublisher());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package guru.springframework.spring6webapp.repositories;

import guru.springframework.spring6webapp.domain.Publisher;
import org.springframework.data.repository.CrudRepository;

public interface IPublisher extends CrudRepository<Publisher, Long> {
}