framework-web:spring:models

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
framework-web:spring:models [2019/02/07 22:01] – [Classes] jcheronframework-web:spring:models [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 63: Ligne 63:
  
 <sxh java> <sxh java>
-public interface OrgaRepository extends JpaRepository<Organization,Integer>+public interface OrgaRepository extends JpaRepository<Organization, Integer> { 
 +    List<Organization> findByDomain(String domain); 
 +    List<Organization> findByName(String name);
 } }
 +
 </sxh> </sxh>
 +
 + [[https://docs.spring.io/spring-data/jpa/docs/1.6.0.RELEASE/reference/html/jpa.repositories.html|JPA Repositories]]
  
 === Test d'ajout d'une instance === === Test d'ajout d'une instance ===
Ligne 82: Ligne 86:
  @ResponseBody  @ResponseBody
  public String newOrga(Organization orga) {  public String newOrga(Organization orga) {
- repo.save(orga);+ repo.saveAndFlush(orga);
  return orga+" ajoutée.";  return orga+" ajoutée.";
  }  }
Ligne 88: Ligne 92:
 </sxh> </sxh>
  
 +==== Relations ====
  
 +=== ManyToOne ===
 +
 +Chaque groupe appartient à une organisation.
 +
 +<sxh java>
 +@Entity
 +public class Groupe {
 + @Id
 + @GeneratedValue(strategy=GenerationType.AUTO)
 + private int id;
 +
 + @ManyToOne
 + private Organization organization;
 +}
 +</sxh>
 +
 +
 +=== OneToMany ===
 +
 +Chaque organisation possède plusieurs groupes. (la relation est bi-directionnelle dans ce cas)
 +
 +<sxh java>
 +@Entity
 +public class Organization {
 + @Id
 + @GeneratedValue(strategy=GenerationType.AUTO)
 + private int id;
 +
 + private String name;
 + private String domain;
 + private String aliases;
 +
 + @OneToMany(cascade=CascadeType.ALL,mappedBy="organization")
 + private List<Groupe> groupes;
 +}
 +</sxh>
 +
 +=== ManyToMany ===
 +
 +Chaque utilisateur peut appartenir à plusieurs groupes. Dans chaque groupe, on a plusieurs utilisateurs.
 +
 +<sxh java>
 +@Entity
 +public class User {
 + @Id
 + @GeneratedValue(strategy=GenerationType.AUTO)
 + private int id;
 +
 + @ManyToOne
 + private Organization organization;
 +
 + @ManyToMany(mappedBy="users")
 + private List<Groupe> groupes;
 +}
 +</sxh>
 +
 +<sxh java>
 +@Entity
 +public class Groupe{
 + @Id
 + @GeneratedValue(strategy=GenerationType.AUTO)
 + private int id;
 +
 + @ManyToOne
 + private Organization organization;
 +
 + @ManyToMany
 + @JoinTable(name = "user_group")
 + private List<User> users;
 +}
 +</sxh>
  • framework-web/spring/models.1549573287.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)