0

spring-data-cassandra私は初めてセットアップしていますが、次のようなクラスがあります。

@Table(value = "contact")
public class Contact {
    @Id
    UUID id;

    ...
    Location Location;
    ...

    public void setLocation(Location location) {
        this.location = location;
    }

    public Location getLocation() {
        return location;
    }
}

これにより、起動時にエラーが発生します。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySQLTransactionRepository': Invocation of init method failed; nested exception is org.springframework.data.cassandra.mapping.VerifierMappingExceptions: com.foo.backend.core.Location:
Cassandra entities must have the @Table, @Persistent or @PrimaryKeyClass Annotation
....

バックグラウンドから来て、spring-data-jpa単に注釈Locationを付けるだけで@Embeddable以前は十分でした。では動作しないようspring-data-cassandraです。で複合エンティティを使用するにはどうすればよいspring-data-cassandraですか?

自分で注釈を付けlocationてシリアライズを行う必要がありますか? @Transientクラスに で注釈を付けようとしましたが、 on が見つからない@Persistentというエラーが発生しました。なぜ主キーが必要なのか理解できません...PrimaryKeyLocation

4

1 に答える 1

1

Cassandra の非リレーショナルな詳細のため、JPA のように機能しないことがわかります。

Cassandra には結合がないため、テーブルの属性として別のテーブルを埋め込むことはできません。

埋め込み型は現時点ではサポートされていません。機能リクエストについて詳しく知りたい場合は、SDC 用の Jira を作成してください*。

ありがとう。

于 2014-06-17T14:42:51.063 に答える