:私のデータベースで無効な関係
@NodeEntity
class Account {
@GraphId
Long id
String accountId
String firstname
String lastname
@Relationship(type = 'HAS_INVITED', direction = Relationship.INCOMING)
List<Account> invitations = []
String getName() {
if (firstname && lastname) {
return "$firstname ${lastname[0]}."
}
return email
}
@Override
int hashCode() {
if (id) {
return id.hashCode()
} else {
return 0
}
}
@Override
boolean equals(Object obj) {
if (obj.is(this)) {
return true
}
if (obj instanceof Account) {
return obj.id == id
}
return false
}
@Override
String toString() {
"$email"
}
}
は、私は2つのアカウントクリスとボブを作成しました。ボブはクリスを以下のように招待しました。アカウントをロードするために
が、私はこのリポジトリを書いた:
interface AccountRepository extends GraphRepository<Account> {
Account findByAccountId(String id)
Account findByEmail(String email)
}
さて、私の問題:私は招待として、私はボブを取得クリスアカウントを読み込むとき(それは大丈夫です)。しかし、私はボブのために招待されたクリスを持っているし、なぜ私は理解していない。 私にとっては、クリスには1つの招待状が必要ですが、ボブには1つの招待状が必要です。
あなたは '一覧 invitations'用セッターを持っていますか?その場合は@Relationshipで注釈を付ける必要があります。 –
素晴らしい!できます。 – ChriX