2016-02-02 45 views

回答

3

Q1 Spring Data JPA,ORM?如果沒有,那是什麼?

號這是創建在編譯時「自動」數據訪問對象(DAO)爲您的系統,並在這些DAO中使用的ORM(如Hibernate)。

Q2 Spring數據JPA的優點是什麼?

你不需要編寫自己的DAO

一個例子,你創建一個這樣的實體:

@Entity 
public class Foo { 

    @Id 
    private Long id; 

    private String name; 

    ... 
} 

和倉庫的定義是這樣的:

public interface FooRepository extends CrudRepository<Foo, Long> { 

} 

Spring Data JPA將在編譯時創建一個真正的存儲庫類,您可以使用它來選擇,插入,更新和刪除Foo對象。

@Controller 
public class FooController { 

    @Autowired 
    private FooRepository fooRepository; 

    @RequestMapping("/") 
    @ResponseBody 
    Foo getFoo() { 
    return fooRepository.findOne(1L); //look, you didn't need to write a DAO! 
    } 
} 

此存儲庫類在運行時使用您的JPA EntityManager。