タグ

ブックマーク / yamkazu.hatenablog.com (7)

  • Spring Data JPA で遊んでみる 〜その6〜 - Yamkazu's Blog

    次はメソッドの定義です。Spring Data JPA はメソッドからクエリを自動生成しますが、そのメソッド名には命名規則があります。 まず戻り値はRepositryに指定している総称型のエンティティのListか、もしくは、そのエンティティにします。Listの場合はJPAのgetResultListが、エンティティの場合はgetSingleResultが呼ばれるという感じですかね?中身見てないのでわかりませんが。定義はこんなんです。 Emp findByName(String name); List<Emp> findByDept(Dept dept); 次にメソッド名のprefixは、findBy、readBy、getByが使用出来ます。単にfind、read、getとか使えるような記述がマニュアルに書いてあったのですが、エラーになっちゃいました。ようわからん。次のメソッドはすべて同じ意

    Spring Data JPA で遊んでみる 〜その6〜 - Yamkazu's Blog
    quodius
    quodius 2014/12/05
  • Spring Data JPA で遊んでみる 〜その3〜 - Yamkazu's Blog

    その2の続きです。 前回あった List<T> findAll(Sort sort); というSortという面白そうなのがあるので、使ってみます。基は、Sortをnewして使うのですが、Orderクラスと絡ませたり、Stringでプロパティでわせたりと、幾つかアプローチがあるので、掻い摘んで紹介します。 まず基。 @Test public void findAll_初めてのソート() throws Exception { // 一番シンプルなやり方 List<Emp> emps = repository.findAll(new Sort(ASC, "name")); assertThat(emps.size(), is(not(equalTo(0)))); for (int i = 0; i < emps.size() - 1; i++) { if (emps.get(i).getN

    Spring Data JPA で遊んでみる 〜その3〜 - Yamkazu's Blog
    quodius
    quodius 2014/11/28
  • 2011-10-15

    Spring Data JPA では Querydsl なるものがサポートされています。 http://www.querydsl.com/ 色々機能があるみたいですが、カンタに言うとEntityクラスからAPTでメタ情報のクラスを生成して、そのクラスを利用してタイプセーフで流れるようにクエリが書けるようなものです。s2jdbcチックな感じです。 APTなので若干セットアップがかったるいですが。 まずpomにライブラリの追加。 <!-- Query Dsl --> <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>com.mysema.quer

    2011-10-15
    quodius
    quodius 2014/11/20
  • 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
    quodius
    quodius 2014/10/07
  • Spring Data JPA で遊んでみる 〜その10〜 - Yamkazu's Blog

    Spring Data JPA では Querydsl なるものがサポートされています。 http://www.querydsl.com/ 色々機能があるみたいですが、カンタに言うとEntityクラスからAPTでメタ情報のクラスを生成して、そのクラスを利用してタイプセーフで流れるようにクエリが書けるようなものです。s2jdbcチックな感じです。 APTなので若干セットアップがかったるいですが。 まずpomにライブラリの追加。 <!-- Query Dsl --> <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>com.mysema.quer

    Spring Data JPA で遊んでみる 〜その10〜 - Yamkazu's Blog
    quodius
    quodius 2014/10/01
  • Spring Data JPA で遊んでみる 〜その1〜 - Yamkazu's Blog

    beta版の時に少し遊んだのですが、気がつけば 1.0.1.RELEASE なんてのが出ててたので改めて触って見ました。 Spring Data は Springのアプリケーションで簡単にPersistanceの機能を作るためのアレで、Spring Data JPAはそのJPAバージョンです。この他にもNoSQLの様々なプロダクトがあります。ちまたで噂の Java 9 のクラウド対応とかこういう感じのものになるのかなぁとかも妄想したり。あと、Spring Roo 1.2でもこのSpring Data JPAとの連携が新しく追加されています。 Spring Data JPA はインタフェースでリポジトリを定義します。メソッドの命名規則があったり、インタフェースで定義するあたりはs2daoに非常に似ています。 エンティティクラスは当前ですが、JPAで定義します。 @Entity public

    Spring Data JPA で遊んでみる 〜その1〜 - Yamkazu's Blog
    quodius
    quodius 2014/09/26
  • JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog

    その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。 ところでアプリケーション作っててValidationの仕組みって毎回悩みませんか?私がJavaでWebアプリケーションつくりはじめた頃なんかだとStruts1.xが全盛期でvalidation.xml、validation-rule.xmlとか使って書いてましたが(今考えれば二度とやりたくないですねw)、今でも毎回どのチェックをどのレイヤ(アプリケーションレイヤ?ドメインレイヤ?)に持たせるかとか、データストアに問い合わせしないといけないValidationって画面の入力だけでチェックできるのとどう管理しようかなとか、色々と悩むこともしばしばです。最近D

    JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog
  • 1