Как получить все элементы сущности в spring-boot? - PullRequest
0 голосов
/ 24 мая 2018

Я отправляю запрос GET из angular5 в spring-boot, чтобы получить все элементы сущности Контраст ниже.

Это сущность:

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Contrat implements Serializable{

        @Id @GeneratedValue
        private Long id;
        private Date dateDebut ;
        private Date dateFin ;
        private boolean valid; 
        @ManyToOne
        @JoinColumn(name = "Id_Project")
        @JsonBackReference(value="projet-contrat")
        private Project project;

        @ManyToOne
        @JoinColumn(name = "Id_AppUser")
        @JsonBackReference(value="appuser-contrat")
        private AppUser appUser;
}

Эторепозиторий:

  public interface ContratRepo extends JpaRepository<Contrat,Long> {

    @Query("select from Contrat c where c.appUser = :userApp")
    public Page<Contrat> chercherContrat(@Param("userApp") AppUser userApp  
   , Pageable pageable);

   }

В Angular5 console.log (data) возвращает этот результат для примера:

 {id: 1, dateDebut: 1526083200000, dateFin: 1526083200000} 

Так что, как вы можете видеть, нет элемента проекта (который мне нуженв переднем конце).

Я хочу показать в угловом виде элементы контрата плюс некоторую информацию о проекте, связанном с.

Должен ли я отправить два запроса GET, чтобы получить информацию от обоих объектов?или есть способ получше?

Результат, который я получаю в базе данных mysql

enter image description here

РЕДАКТИРОВАТЬ 2

enter image description here

1 Ответ

0 голосов
/ 24 мая 2018

Вы должны быть в состоянии использовать одну из основных функций JPA ... вывод запроса !Вот так:

public interface ContratRepo extends JpaRepository<Contrat,Long> {

    public Page<Contrat> findByAppUser(AppUser userApp, Pageable pageable);

}

А если вы хотите Project, используйте @EntityGraph:

public interface ContratRepo extends JpaRepository<Contrat,Long> {

    @EntityGraph(attributePaths = { "project"}, type = EntityGraphType.LOAD)
    public Page<Contrat> findByAppUser(AppUser userApp, Pageable pageable);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...