[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

JPAに関するdaisuke-mのブックマーク (3)

  • QuerydslでJPAが思ったよりも捗る - 水まんじゅう2

    先日、 [twitter:@seratch]さんから教えていただいたQuerydslがすごい良かったので記事として書きます。 http://www.querydsl.com/ JPAにおける課題 JPAではJPQLとCriteriaという二つのクエリ記述言語があります。 しかしながら、それぞれ使い勝手という意味では難のあるものでした。 JPQL JPQLは以下のような、SQLライクなクエリ記述言語です。 select new com.github.megascus.EmployeeBean(e.code, e.name, e.age) from Employee as e where name like 's%'SQLライクに記述することができるため、SQLが理解できる人にとっては理解しやすいという利点があります。 しかしながら、JPQL自体はただの文字列で定義する必要があります。 そのた

    QuerydslでJPAが思ったよりも捗る - 水まんじゅう2
  • Spring Data JPA で遊んでみる 〜その8〜 - Yamkazu's Blog

    Specificationの話です。 SpecificationはDDDのパターンの一つですが、JPA2から導入されたCriteriaを利用して、Spring Data JPAではSpecificationパターンみたいなことが出来ます。 Specificationを使用するにはリポジトリの定義でJpaSpecificationExecutorを継承する必要があります。 public interface EmpRepository extends JpaRepository<Emp, Long>, JpaSpecificationExecutor<Emp> { //.. JpaSpecificationExecutorに定義されているメソッドは以下のようなもの。 T findOne(Specification<T> spec); List<T> findAll(Specification<

    Spring Data JPA で遊んでみる 〜その8〜 - Yamkazu's Blog
  • [Java][JPA] JPA で大きなテーブルを走査する - Secret Staircase on はてな

    JPA で行数の多いテーブルを select して getResultList() すると全部メモリに展開するので効率が良くないです。こういうとき、JDBC なら ResultSet をオープンしたままループしますし、S2JDBC なら iterate() 使いますね。ところが JPA には適切な方法がないようです。 こちらによれば、 http://stackoverflow.com/questions/5067619/jpa-what-is-the-proper-pattern-for-iterating-over-large-result-sets プロダクト独自の方法を使えばいいようですが、pure JPA なベストアンサーの方法を Iterator でラップして使いやすくしてみました。 https://github.com/akr4/jpa-lazy-fetch-iterator

    [Java][JPA] JPA で大きなテーブルを走査する - Secret Staircase on はてな
    daisuke-m
    daisuke-m 2011/09/03
    確かに、これが何故標準にないのか不思議。そして、spring-dataのRepositoryでもこの手のAPI提供して欲しいなぁ。。。
  • 1