2012-08-30 39 views
4

如何定義多態類的Repository接口Spring Mongo Repository多態性

Ex。

abstract class Source { public String name } 

class InternalSource extends Source { public int internalId } 
class ExternalSource extends Source { public String contact } 

現在我知道我不能這樣定義

interface SourceRepo extends Repository<? extends Source, String>{....} 

interface SourceRepo extends Repository<Source, String> { ....} 

是定義簡單的純接口,並有一個implmentation類是必經之路庫接口?

回答

1

那麼讓spring通過'_class'屬性將mongo文檔關聯到java類映射將會正常工作。

蒙戈文件想一些這樣

{_id : "xxx", name : "abc", internalId : 123, _class = "...InternalSource" } 
{_id : "xxx", name : "abc", contact: "John doe", _class = "...ExternalSource"}