0
    package com.lhoussaine.springjsfjpa.entities;

    @Table(name="address")
    @Entity
    public class Address {

             @Id
             @GeneratedValue(strategy = GenerationType.AUTO)
             private int id;
             private String streetNumber;
             private String streetName;
             private String city;
             getter/setter 
    }

そして私は30のエンティティを持っています。

現在のリポジトリ:

package com.lhoussaine.springjsfjpa.repositories;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.repository.annotation.RestResource;
import com.lhoussaine.springjsfjpa.entities.Address;

@RestResource(rel="address", path="address")
public interface AddressRepository extends JpaRepository<Address,Integer> { 

}

ここでは、CRUD 操作を実装する必要はありません。spring-data-jpa に感謝します。そして、コントローラーとサービスに同じ標準が必要です:

public interface IAddressService {
}


package com.lhoussaine.springjsfjpa.services.generic;

import java.util.List;

public abstract class GenericService<T,K> {         
     public abstract T create(T saved);     
     public abstract void remove(T deleted);    
     public abstract T findById(K id) ;     
     public abstract List<T> findAll();
     public abstract T removeById(K id); 
}


package com.lhoussaine.springjsfjpa.services.impl;

 @Service 
 @Transactional 
 public class AddressService extends GenericService<Address, Integer> implements IAddressService {  
    @Autowired private AddressRepository iaddressRepository;

    public Address create(Address saved) {      
               Address address=saved;
        return iaddressRepository.save(address);    
       }

     public void remove(Address deleted) {
        iaddressRepository.delete(deleted);     
       }

     public Address findById(Integer id) {      
                return iaddressRepository.findOne(id);  
       }

     public List<Address> findAll() {       
               return iaddressRepository.findAll();     
        }

     public Address removeById(Integer id) {        
               Address addr= iaddressRepository.findOne(id);        
               if(addr!=null){
           iaddressRepository.delete(addr);         
               }        
               return addr;
       }
 }

問題は次のとおりです。コントローラーを使用してどうすればよいですか?各クラスのコントローラーを開発しますか? 30 のサービス クラスがあることを知っています。Spring Data JPA など、同じ標準に近づいているものはありますが、サービスとコントローラーはありますか? ご覧のとおり、サービス クラスです。GenericServiceクラスを作成し、パッケージ エンティティにある各クラスのインターフェイスを作成する必要があります。

4

2 に答える 2