我有一個基類,這是一了Riak實體,以及延伸BaseEntity一些派生類。 BaseEntity有一個名爲Identifier的字段,它被註釋爲@RiakKey。避免在BaseEntity RiakKey的複製和派生類
,但顯然這是不足夠多。看來,我必須有標識字段,在每個派生類的@RuiakKey anotation,否則我得到這個異常:在com.basho.riak
com.basho.riak.client.convert.NoKeySpecifedException .client.bucket.DefaultBucket.fetch(DefaultBucket.java:535) at com.att.cso.omss.datastore.riak.controllers.RiakBaseController.isEntityExist(RiakBaseController.java:130) at com.att.cso.omss .datastore.riak.controllers.RiakBaseController.createEntity(RiakBaseController.java:94) at com.att.cso.omss.datastore.riak.controllers.RiakBaseController.createServiceProvider(RiakBaseController.java:234) at com.att.cso .omss.datastore.riak.App.serviceProviderTests(AP p.java:62) 在com.att.cso.omss.datastore.riak.App.main(App.java:38)
所以,我目前的實現看起來像這樣(標識符字段重複):
公共類BaseEntity {
@RiakKey @JsonProperty( 「ID」) 保護字符串標識符;
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
。 。 。
公共類服務擴展BaseEntity {
@RiakKey
@JsonProperty("Id")
protected String identifier;
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
是有辦法避免這種重複?
謝謝!你能看看這個問題嗎? http://stackoverflow.com/questions/11921245/riak-simple-searchmapreduce-throws-ioexception – 2012-08-14 08:27:52