2017-12-26 38 views
0

に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でオブジェクトの高度な検索を作成する最良の方法は何ですか?

+0

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 –

+0

ありがとう、私私の答えを見つける良い方法がありません – MaxL

+0

私があなたに与えたリンクをクリックし、ドキュメントをお読みください。これらのドキュメントのリンクされたセクションはすべて、達成したいことを実行するさまざまな方法です。 –

答えて

関連する問題