CouchBase.NET sdk使用数据upsert和spring framwork findone null
使用Couchbase SDK.NET(版本:2.2.2)和SpringFramework(版本:1.4.2.RELEASE) 测试用例CouchBase.NET sdk使用数据upsert和spring framwork findone null,.net,spring,couchbase,.net,Spring,Couchbase,使用Couchbase SDK.NET(版本:2.2.2)和SpringFramework(版本:1.4.2.RELEASE) 测试用例 .NET Upsert->.NET GetDocument:成功 Spring Save->Spring FindOne:成功 Spring Save->.NET GetDocument:成功 4。NET Upsert->Spring FindOne:失败 为什么我不应该不知道。。。请帮帮我 .NET代码 var config = new Clie
var config = new ClientConfiguration
{
Servers = new List<Uri>
{
new Uri("http://127.0.0.1:8091/pools")
},
Serializer = () => new JilSerializer()
};
using (var cluster = new Cluster(config))
{
IBucket bucket = null;
try
{
bucket = cluster.OpenBucket("Test", "Test");
cItemInfo TempClass = new cItemInfo();
for (int i = 0; i < 3; i++)
{
TestClass temp = new TestClass();
temp.var1 = i;
temp.var2 = i;
temp.var3 = ".NET Testing";
TempClass.test.Add(temp);
}
TempClass.result = 200;
string jsonStr = JsonConvert.SerializeObject(TempClass);
var document = new Document<cItemInfo>();
document.Id = "TestClass_NET";
document.Content = TempClass;
var upsert = bucket.Upsert(document);
if (upsert.Success)
Console.WriteLine("Success");
Console.Read();
}
finally
{
if (bucket != null)
{
cluster.CloseBucket(bucket);
}
}
}
var config=new ClientConfiguration
{
服务器=新列表
{
新Uri(“http://127.0.0.1:8091/pools")
},
序列化程序=()=>新的JilSerializer()
};
使用(var集群=新集群(配置))
{
IBucket bucket=null;
尝试
{
bucket=cluster.OpenBucket(“测试”、“测试”);
cItemInfo TempClass=新的cItemInfo();
对于(int i=0;i<3;i++)
{
TestClass temp=新的TestClass();
温度var1=i;
温度var2=i;
temp.var3=“.NET测试”;
TempClass.test.Add(temp);
}
TempClass.result=200;
字符串jsonStr=JsonConvert.SerializeObject(TempClass);
var document=新文档();
document.Id=“TestClass\u NET”;
document.Content=TempClass;
var upsert=bucket.upsert(单据);
如果(插入成功)
Console.WriteLine(“成功”);
Console.Read();
}
最后
{
if(bucket!=null)
{
集群。闭桶(桶);
}
}
}
Spring框架代码
// [WS_ItemInfo.java]
@RequestMapping("GetItemInfoEx")
public @ResponseBody C_ItemInfo GetItemInfoEx() {
C_ItemInfo item = itemInfo.getItemInfo("TestClass_NET");
return item;
}
// [CS_ItemInfo.java]
@Component
public class CS_ItemInfo {
@Autowired
private CR_ItemInfo itemInfo;
public void setItemInfo(C_ItemInfo item) {
itemInfo.save(item);
}
public C_ItemInfo getItemInfo(String uID) {
return itemInfo.findOne(uID);
}
public boolean getItemInfoExists(String uID) {
return itemInfo.exists(uID);
}
}
// [CR_ItemInfo.java]
public interface CR_ItemInfo extends CrudRepository<C_ItemInfo, String> {
}
// [CouchbaseConfig.java]
@EnableCouchbaseRepositories
@Configuration
public class CouchBaseConfig extends AbstractCouchbaseConfiguration {
@Override
protected List<String> bootstrapHosts() {
return Arrays.asList("127.0.0.1");
}
@Override
protected String getBucketName() {
return "test";
}
@Override
protected String getBucketPassword() {
return "test";
}
@Bean
public MappingCouchbaseConverter mappingCouchbaseConverter() throws Exception {
MappingCouchbaseConverter converter = new MyMappingCouchbaseConverter(couchbaseMappingContext());
converter.setCustomConversions(customConversions());
return converter;
}
private class MyMappingCouchbaseConverter extends MappingCouchbaseConverter {
public MyMappingCouchbaseConverter(
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> mappingContext) {
super(mappingContext);
typeMapper = new DefaultCouchbaseTypeMapper(null);
}
}
}
/[WS\u ItemInfo.java]
@RequestMapping(“GetItemInfoEx”)
public@ResponseBody C_ItemInfo GetItemInfoEx(){
C_ItemInfo item=ItemInfo.getItemInfo(“TestClass_NET”);
退货项目;
}
//[CS_ItemInfo.java]
@组成部分
公共类CS_ItemInfo{
@自动连线
私有CR_ItemInfo ItemInfo;
公共无效setItemInfo(C_ItemInfo项){
itemInfo.save(项目);
}
公共C_ItemInfo getItemInfo(字符串uID){
返回itemInfo.findOne(uID);
}
公共布尔getItemInfoExists(字符串uID){
returniteminfo.exists(uID);
}
}
//[CR_ItemInfo.java]
公共接口CR_ItemInfo扩展了Crudepository{
}
//[CouchbaseConfig.java]
@EnableCouchbaseRepositories
@配置
公共类CouchBaseConfig扩展了AbstractCouchbaseConfiguration{
@凌驾
受保护列表bootstrapHosts(){
返回数组.asList(“127.0.0.1”);
}
@凌驾
受保护的字符串getBucketName(){
返回“测试”;
}
@凌驾
受保护的字符串getBucketPassword(){
返回“测试”;
}
@豆子
公共MappingCouchbaseConverter MappingCouchbaseConverter()引发异常{
MappingCouchbaseConverter=新的MyMappingCouchbaseConverter(couchbaseMappingContext());
setCustomConversions(customConversions());
回流转换器;
}
私有类MyMappingCouchbaseConverter扩展了MappingCouchbaseConverter{
公共MyMappingCouchbaseConverter(
MappingContext,CouchbasePersistentProperty>MappingContext){
super(mappingContext);
typeMapper=新的DefaultCouchbaseTypeMapper(空);
}
}
}
Spring Data Couchbase 1.4.2基于“旧”一代SDK(Java SDK 1.4.2)。这一代不支持SDK之间的交叉兼容性,这是第二代SDK(属于.NET 2.2.2,但不属于Java 1.4.2)的重点
第二代Spring Data Couchbase 2.0.x目前是,并且应该生成与.NET 2.2.2交叉兼容的文档。Spring Data Couchbase 1.4.2基于“旧”一代SDK(也包括Java SDK 1.4.2)。这一代不支持SDK之间的交叉兼容性,这是第二代SDK(属于.NET 2.2.2,但不属于Java 1.4.2)的重点
第二代Spring数据Couchbase 2.0.x目前是并且应该生成与.NET 2.2.2交叉兼容的文档。您使用的是哪个版本的.NET SDK和Spring数据?Couchbase版本.NET:2.2.2 Springframework:1.4.2.Release在Spring端是否有任何错误或状态消息?哪个版本的.NET SDK和Spring数据您使用的是Spring数据吗?Couchbase版本.NET:2.2.2 Springframework:1.4.2.Release Spring端是否有任何错误或状态消息?