• ホーム
  • 開発
  • その他ノウハウ

学習と現場をつなぐ

ゆーじの開発メモ

お問い合わせはこちら
  • ホーム
  • 開発
  • その他ノウハウ
コードエディタとコーヒーカップを配置したJava解説ブログ「学習と現場をつなぐJava道場」のアイキャッチ画像
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ

Spring

2026/7/8

Spring Bootの@Transactionalはどこに付ける?

AIによる要約Spring Bootの@Transactionalは、基本的にRepositoryではなく、業務処理のまとまりを表すServiceメソッドに付けることが多いです。どこからどこまでを1つの更新単位にするかを決めるためのアノテーションであり、何となく付けるものではありません。 Spring BootでDB更新を扱うと、@Transactionalというアノテーションが出てきます。 初学者は、とりあえずRepositoryや更新メソッドに付ければよいと考えがちですが、現場では「どこからどこまでを ...

Spring BootのDTO変換はどこでやるべきかを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でDTOとEntityの変換を学ぶイラスト。

Spring

2026/7/8

Spring BootのDTO変換はどこでやるべきか

AIによる要約Spring BootのDTO変換は、必ずController、必ずServiceと決まるものではありません。大事なのは、Entityを外へ直接出さず、画面/API用の形に変換することです。単純な変換はControllerやService、複雑な変換はMapperへ分けると読みやすくなります。 Spring Bootの現場では、Entityをそのまま画面やAPIに返さず、DTOへ変換することが多いです。 しかし、DTO変換をどこに書くかは初学者が迷いやすいポイントです。Controllerに ...

Spring BootのRepositoryでよくある戻り値の扱いを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でOptionalやListを学ぶイラスト。

Spring

2026/7/8

Spring BootのRepositoryでよくある戻り値の扱い

AIによる要約Spring BootのRepositoryでは、Optional、List、単一Entityなど戻り値の扱いでレビューされることがあります。大事なのは、0件、1件、複数件を想定し、get()で雑に取り出さないことです。検索条件不足もあわせて確認します。 Spring Data JPAを使うと、Repositoryのメソッドを簡単に作れます。findByIdやfindByEmailのようなメソッド名だけで検索できるため便利です。 一方で、戻り値の扱いを雑にすると、NoSuchElementE ...

Spring BootのControllerでやってはいけないことを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でControllerとServiceの責務分離を学ぶイラスト。

Spring

2026/7/8

Spring BootのControllerでやってはいけないこと

AIによる要約Spring BootのControllerは、リクエストを受け取り、入力を確認し、Serviceを呼び出し、レスポンスを返す入口です。業務ロジック、DBアクセス、長い条件分岐、Entityの直接返却を詰め込むと、レビューで指摘されやすくなります。 Spring Bootを学び始めると、最初に触ることが多いのがControllerです。URLを受けて画面やJSONを返せるので、つい何でもControllerに書きたくなります。 しかし現場では、Controllerが太くなるとレビューでかなり ...

Javaのequalsをオーバーライドするときの注意点を解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアが同一判定を学ぶイラスト。

Java

2026/7/7

Javaのequalsをオーバーライドする注意点

AIによる要約Javaでequalsをオーバーライドするときは、単にIDEで生成すればよいわけではありません。何を同じとみなすのか、hashCodeと揃っているか、変更される値を比較に使っていないかを確認する必要があります。 equalsは、オブジェクト同士を「同じものとして扱うか」を決めるメソッドです。 現場では、ID、コード値、注文番号など、業務上の同一性を表すクラスでよく話題になります。 この記事のポイント equalsは同一判定のルールを表す オーバーライドするならhashCodeもセットで考える ...

Lombokの使い方と@Dataの危険性を解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがアノテーションの選び方を学ぶイラスト。

Java

2026/7/7

Lombokの使い方と@Dataの危険性

AIによる要約LombokはJavaの定型コードを減らせる便利なライブラリです。ただし、@Dataを無条件に付けると、getter、setter、toString、equals、hashCode、コンストラクタがまとめて生成され、現場では思わぬ副作用になることがあります。 Lombokは、getter、setter、コンストラクタ、equals/hashCodeなどの定型コードをアノテーションで生成してくれるライブラリです。 現場でもよく使われますが、初学者が最初にやりがちなのが、クラスに何でも@Data ...

JavaのSetで重複削除できない原因をequalsとhashCodeから解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがHashSetを学ぶイラスト。

Java

2026/7/7

Setで重複削除できない原因をJavaで解説

AIによる要約JavaのSetは重複を持たないコレクションですが、自作クラスを入れたときに期待通り重複削除されないことがあります。原因の多くは、equalsとhashCodeの実装、または何を重複とみなすかの設計です。 Setは重複を許さないコレクションです。文字列や数値なら、直感通りに重複が消えることが多いです。 しかし、自分で作ったクラスをHashSetに入れると、同じ内容に見えるのに重複が残ることがあります。 この記事のポイント Setの重複判定はequalsとhashCodeに依存する 自作クラス ...

HashMapで値が取れない原因をequalsとhashCodeから解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがMapのキーを学ぶイラスト。

Java

2026/7/7

HashMapで値が取れない原因はequalsかも

AIによる要約HashMapに値を入れたのにgetで取れない場合、キーに使っているクラスのequalsとhashCodeが原因かもしれません。この記事では、初学者向けにMapの仕組みと現場で起きる失敗を整理します。 業務システムでは、ユーザーID、商品コード、注文番号などをキーにしてHashMapへ値を入れることがあります。 ところが、自分で作ったクラスをキーにした瞬間に、putした値がgetできない問題が起きることがあります。 HashMapはキーをhashCodeとequalsで探す 同じ値に見えても ...

JavaのequalsとhashCode入門を解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でオブジェクト比較を学ぶイラスト。

Java

2026/7/2

JavaのequalsとhashCode入門

AIによる要約equalsはオブジェクトの同一性を判断する重要なメソッドですが、hashCodeとセットで考えないとHashSetやHashMapで不具合につながります。この記事では、初学者がつまずきやすい理由を現場目線で整理します。 前回の文字列比較では、==ではなくequalsを使う話をしました。 次に現場で出てくるのが、自分で作ったクラスのequalsとhashCodeです。 この記事のポイント equalsは「同じ値として扱うか」を決める hashCodeはHashSetやHashMapの探索に使 ...

Javaのfor文とStreamの使い分けを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間で繰り返し処理を学ぶイラスト。

Java

2026/7/2

Javaのfor文とStreamの使い分け

AIによる要約Javaには通常のfor文、拡張for文、Streamなど複数の繰り返し処理があります。どれが正解かは場面によります。この記事では、初学者が迷いやすい使い分けを、現場の可読性とデバッグしやすさの観点で整理します。 Javaのコレクション処理では、同じ結果を複数の書き方で実現できます。 初学者が迷いやすいのは、for文が古くて、Streamが常に良い書き方に見えることです。 この記事のポイント 単純な繰り返しは拡張for文で十分なことが多い 抽出・変換・集計はStreamが読みやすい場合がある ...

« Prev 1 2 3 4 5 … 11 Next »
プロフィール画像

若手SEを救いたい社畜

独立系のSIerに務めるSE,PM。 仕事の上で得たIT関連やプロジェクト運営関連の知識を書きます。 使用技術:Java,ウェブ関連全般,データベース全般 (どれも広く浅く)

  • 免責事項
  • 著作権について
  • お問合わせ/ご意見
  • プライバシーポリシー
  • リンクについて

学習と現場をつなぐ

ゆーじの開発メモ

© 2026 ゆーじの開発メモ