相关疑难解决方法(0)

在Spring Data JPA存储库中使用泛型

我有许多简单的对象类型需要持久化到数据库.我正在使用Spring JPA来管理这种持久性.对于每个对象类型,我需要构建以下内容:

import org.springframework.data.jpa.repository.JpaRepository;

public interface FacilityRepository extends JpaRepository<Facility, Long> {
}


public interface FacilityService {
    public Facility create(Facility facility);
}

@Service
public class FacilityServiceImpl implements FacilityService {

    @Resource
    private FacilityRepository countryRepository;

    @Transactional
    public Facility create(Facility facility) {
        Facility created = facility;
        return facilityRepository.save(created);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想到有可能用三个基于泛型的类替换每个对象类型的多个类,从而节省了大量的样板编码.我不确定如何去做,事实上如果这是一个好主意?

java spring jpa spring-data spring-data-jpa

30
推荐指数
3
解决办法
3万
查看次数

JpaRepository未在componentscan的独立包中实现/注入

我有一个JpaRepository接口,当它与包含@ComponentScan的主类在一个单独的包中时,它没有被Spring数据实现(或注入?).

我的包结构(仅为了演示错误):

- org.demo.jpa.myapp
    Application.java
- org.demo.jpa.repo
    MyDomainObject.java
    MyRepository.java
Run Code Online (Sandbox Code Playgroud)

MyRepository.java

public interface MyRepository extends JpaRepository<MyDomainObject, Long> { }
Run Code Online (Sandbox Code Playgroud)

Application.java

@Configuration
@ComponentScan(basePackages="org.demo.jpa")
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(Application.class, args);        
        if (context.getBean(MyRepository.class) == null){
            throw new NullPointerException("repo was not initialized!");
        }
    }                
}
Run Code Online (Sandbox Code Playgroud)

例外

Exception in thread "main" 2014-09-01 11:20:26.336  INFO 6156 --- [           main] org.demo.jpa.myapp.Application           : Started Application in 2.824 seconds (JVM running for
 3.362)
2014-09-01 11:20:26.339  INFO 6156 --- [       Thread-1] …
Run Code Online (Sandbox Code Playgroud)

spring-data-jpa spring-boot

6
推荐指数
1
解决办法
3023
查看次数

标签 统计

spring-data-jpa ×2

java ×1

jpa ×1

spring ×1

spring-boot ×1

spring-data ×1