にJPAと貴様のフィールドを検索する:データベースでアルゴリズムは、私は2つのエンティティ持っているのJava
public abstract class ElementMap {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne
@JoinColumn(name = "coordinate")
@JsonManagedReference
private Coordinate coordinate;
private String name;[...]
と
public class Coordinate {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private int x;
private int y;
@Column(name = "map_x")
private int mapX;
@Column(name = "map_y")
private int mapY;
@OneToOne(mappedBy = "coordinate")
@JsonBackReference
private ElementMap elementMap;[...]
を、私は貴様ラインを埋めるために多くの要素 (like this)を持っています。
そして、高度な検索を行うために、Coordinateオブジェクトを使用するサービスを作成したいとします。
は例えば、私が入れた場合:= 5のx = 3とmap_yは、私はすべての行のx = 3、map_y = 5を見つけたいです。
そして、私が入れた場合:のx = 3、map_y = 5とy = 6を、私はすべてのラインのx = 3、map_y = 5とy = 6を見つけたいです。春JPAで
、それはインターフェースElementMapRepository、のようないくつかの方法で、作成することが可能です:...
- findByCoordinateMapXAndCoordinateXAndCoordinateY
- findByCoordinateYAndCoordinateX
- findByCoordinateY
など
をしかし、すべて管理するために作成するので、多くのインタフェースがありますケース。
Java Spring Bootおよび/またはJPAでオブジェクトの高度な検索を作成する最良の方法は何ですか?
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications、https://docs.spring.io/spring-data/jpa/docs/current/reference/html /#query-by-example、https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#core.extensions.querydsl –
ありがとう、私私の答えを見つける良い方法がありません – MaxL
私があなたに与えたリンクをクリックし、ドキュメントをお読みください。これらのドキュメントのリンクされたセクションはすべて、達成したいことを実行するさまざまな方法です。 –