From 069a0012a16bae69ef092b7695a0d61189e408de Mon Sep 17 00:00:00 2001 From: rvangrev Date: Fri, 14 Oct 2016 10:54:21 +0200 Subject: [PATCH] Annotations ajoutées Méthodes findByXX Ajoutées --- src/main/java/fr/plil/sio/examen/api/Animal.java | 6 +++++- src/main/java/fr/plil/sio/examen/api/Comment.java | 21 +++++++++++++++++++++ src/main/java/fr/plil/sio/examen/api/Owner.java | 4 +++- src/main/java/fr/plil/sio/examen/repositories/AnimalRepository.java | 4 ++++ src/main/java/fr/plil/sio/examen/repositories/CommentRepository.java | 11 +++++++++++ src/main/java/fr/plil/sio/examen/repositories/OwnerRepository.java | 4 ++++ 6 files changed, 48 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/plil/sio/examen/api/Animal.java b/src/main/java/fr/plil/sio/examen/api/Animal.java index c8b8da9..ee46752 100644 --- a/src/main/java/fr/plil/sio/examen/api/Animal.java +++ b/src/main/java/fr/plil/sio/examen/api/Animal.java @@ -6,22 +6,26 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.Table; /** * An animal must have a name one and only one owner */ @Entity +@Table(name="ANIMAL_T") public class Animal implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - @Column(nullable = false) + @Column(name="NAME_A",nullable = false) private String name; @ManyToOne(optional = false) + @JoinColumn(name="OWNER_ID") private Owner owner; public Long getId() { diff --git a/src/main/java/fr/plil/sio/examen/api/Comment.java b/src/main/java/fr/plil/sio/examen/api/Comment.java index df00e44..020e3a9 100644 --- a/src/main/java/fr/plil/sio/examen/api/Comment.java +++ b/src/main/java/fr/plil/sio/examen/api/Comment.java @@ -1,5 +1,15 @@ package fr.plil.sio.examen.api; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToOne; +import javax.persistence.Table; + /** * A comment is made by an reporter (i.e. an owner) on ANY animal * (not only the ones he owns). @@ -11,11 +21,22 @@ package fr.plil.sio.examen.api; * TODO: complete the classes in API to support comment serialization in the * database. */ +@Entity +@Table(name="COMMENT_T") public class Comment { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @ManyToOne(optional = false) + @JoinColumn(name="OWNER_ID") private Owner reporter; + @ManyToOne(optional = false) + @JoinColumn(name="ANIMAL_ID") private Animal animal; + @Column(nullable = false) private String message; } diff --git a/src/main/java/fr/plil/sio/examen/api/Owner.java b/src/main/java/fr/plil/sio/examen/api/Owner.java index 4583923..6f20f83 100644 --- a/src/main/java/fr/plil/sio/examen/api/Owner.java +++ b/src/main/java/fr/plil/sio/examen/api/Owner.java @@ -8,18 +8,20 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; +import javax.persistence.Table; /** * An owner has a name and zero, one or more animals. */ @Entity +@Table(name="OWNER_T") public class Owner { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - @Column(nullable = false) + @Column(name="NAME_O",nullable = false) private String name; @OneToMany(mappedBy = "owner") diff --git a/src/main/java/fr/plil/sio/examen/repositories/AnimalRepository.java b/src/main/java/fr/plil/sio/examen/repositories/AnimalRepository.java index 8b7dd42..2dd3f08 100644 --- a/src/main/java/fr/plil/sio/examen/repositories/AnimalRepository.java +++ b/src/main/java/fr/plil/sio/examen/repositories/AnimalRepository.java @@ -13,4 +13,8 @@ public interface AnimalRepository extends JpaRepository { * about other kind of object ?). */ List findByOwner(Owner owner); + + List findByName(String name); + +// Animal findById(Long id); } diff --git a/src/main/java/fr/plil/sio/examen/repositories/CommentRepository.java b/src/main/java/fr/plil/sio/examen/repositories/CommentRepository.java index 84fe1fe..2258ee5 100644 --- a/src/main/java/fr/plil/sio/examen/repositories/CommentRepository.java +++ b/src/main/java/fr/plil/sio/examen/repositories/CommentRepository.java @@ -1,10 +1,21 @@ package fr.plil.sio.examen.repositories; import fr.plil.sio.examen.api.Comment; +import fr.plil.sio.examen.api.Owner; +import fr.plil.sio.examen.api.Animal; +import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; /** * TODO: complete this interface for new find methods. */ public interface CommentRepository extends JpaRepository{ + + List findByOwner(Owner owner); + + List findByAnimal(Animal animal); + + List findByMessage(String message); + +// Comment findById(Long id); } diff --git a/src/main/java/fr/plil/sio/examen/repositories/OwnerRepository.java b/src/main/java/fr/plil/sio/examen/repositories/OwnerRepository.java index c70cc2a..f6204a8 100644 --- a/src/main/java/fr/plil/sio/examen/repositories/OwnerRepository.java +++ b/src/main/java/fr/plil/sio/examen/repositories/OwnerRepository.java @@ -1,8 +1,12 @@ package fr.plil.sio.examen.repositories; import fr.plil.sio.examen.api.Owner; +import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; public interface OwnerRepository extends JpaRepository{ + List findByName(String name); + +// Owner findById(Long id); } -- libgit2 0.21.2