エンティティ メソッドを使用してエンティティをトラバースできます。また、エンティティ リポジトリを使用してまったく同じことを行うことができます。違いは、追加のクラスを作成してエンティティにアタッチすることと、リポジトリが他の開発者に何らかの混乱を引き起こすことです。特定の方法が利用可能である場合、エンティティとリポジトリを確認する必要があります。
他に違いはありますか?カスタムリポジトリを使用する利点はありますか? または、そのような状況を処理するためのベストプラクティスは何ですか?
エンティティ メソッドを使用してエンティティをトラバースできます。また、エンティティ リポジトリを使用してまったく同じことを行うことができます。違いは、追加のクラスを作成してエンティティにアタッチすることと、リポジトリが他の開発者に何らかの混乱を引き起こすことです。特定の方法が利用可能である場合、エンティティとリポジトリを確認する必要があります。
他に違いはありますか?カスタムリポジトリを使用する利点はありますか? または、そのような状況を処理するためのベストプラクティスは何ですか?
一般的:
エンティティ内のメソッドは、この特定のエンティティ オブジェクトにのみ接続する必要があります (リレーションを持つ getter/setter は例外です)。
リポジトリ内のメソッドは、エンティティ クラス全体に接続する必要があります
例: Article エンティティがある場合、エンティティ内に "slugify" メソッドを作成できます。これは、この特定のオブジェクトのタイトルからスラッグを作成するためです。
しかし、たとえば、1 年以上前のすべての記事を取得する必要がある場合は、リポジトリでそのようなメソッドを作成します (特定のオブジェクトに関連していないため)。