2017-01-11 15 views
1

私はMessageエンティティとAdminエンティティを持っています。 メッセージは次のとおりです。@Queryを使用したSpringデータによるカスタムクエリの作成

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private long id; 

@Column(name = "text") 
private String text; 

@OneToOne 
@JoinColumn(name = "id_from") 
private Admin idFrom; 

@OneToOne 
@JoinColumn(name = "id_too") 
private Admin idToo; 

管理者は、次のとおりです。

select id_from, text from message 
where id_from = from and id_too = too 
or id_from = too and id_too = from; 

@query注釈を使用して:

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private long id; 

@Column(name = "username") 
private String username; 

@Column(name = "password") 
private String password; 

@Column(name = "email") 
private String email; 

がどのように私はこのクエリを作成することができますか?このような

何か:

@Query("SELECT m FROM Message m WHERE m.id_from = :from.id and m.id_too = :too.id or m.id_from = :too.id and m.id_too = :from.id") 
List<Message> findMessages(@Param("from") Admin from, @Param("too") Admin too); 

はあなたに

答えて

0
@Query("SELECT m FROM Message m WHERE m.idFrom.id = :fromId and m.idToo.id = :tooId or m.idFrom.id = :tooId and m.idToo.id = :fromId") 
List<Message> findMessages(@Param("fromId") Long fromId, @Param("tooId") Long tooId); 
+0

感謝をありがとう、それは働きました! :) –

+0

あなたは答えを受け入れ、upvoteすることができますか? –

+0

私はしましたが、ステータスを変更するのに十分な担当者がいません –

関連する問題