2016-07-07 4 views
0

ManyToOneに関連する2つのクラスがあります。私は "Chantier"というIDを持っています。このChantierのIDを持つすべてのLotsを検索したいと思います。EJB Find要素のパラメータManyToOne

パブリッククラスChantierは実装Serializableを{

private static final long serialVersionUID = 1L; 
@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private Long id; 
private String titre_aff; 
private String num_aff; 
private String ville; 

パブリッククラスロットを実装シリアライズ{

private static final long serialVersionUID = 1L; 
@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private Long id; 
List<String> numero_lot; 
List<String> designation; 
@ManyToOne 
private Chantier chantier; 

私はLotsRESTでこれを試みたが、それは、このIDとないchantierとロットを探しています:

@GET 
    @Path("{id}") 
    @Produces(MediaType.APPLICATION_JSON) 
    public Lots getLotByChantier(@PathParam("id") String id) { 
     return faL.find(Long.parseLong(id)); 
    } 

答えて

1

私はちょうど私が望むものを返すためにこの関数を作成しました

@GET 
    @Path("{id}") 
    @Produces(MediaType.APPLICATION_JSON) 
    public List<Lots> getLotByChantier(@PathParam("id") String id) { 
     List<Lots> listLots = faL.findAll(); 
     for (Lots lot : listLots) { 
      if (!lot.getChantier().getId().equals(Long.parseLong(id))) { 
       listLots.remove(lot); 
      } 
     } 
     return listLots; 
    } 
関連する問題