我想知道如何使用'或'运算符编写Morphia mongodb查询
我写了这样的mongodb查询这个工作正常
db.Inv.find({$or:[{sug_id:2},{grp_id:2}]})
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在morphia中写这个时,我感到很困惑,以下查询是错误的,但是如何写出与此类似的东西
List<Inv> invs = ds.find(Inv.class).field("grp_id").hasAnyOf(grpId).or(field("sug_id")).hasAnyOf(grpId).asList();
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在使用JOOQ向MySql插入一条记录,这是我的代码
if (f.getConnection()!=null) {
UserRecord us = new UserRecord();
us.setAccountId(UInteger.valueOf(accountId));
us.setCode(code);
us.setEnd(new java.sql.Date(end.getTime()));
us.setStart(new java.sql.Date(start.getTime()));
us.setPhoneNumberId(UInteger.valueOf(phnNUmberId));
us.store();
}
Run Code Online (Sandbox Code Playgroud)
(f是数据库连接工厂类)
它
在线程“ main” org.jooq.exception.DetachedException中给出异常:无法执行查询。未配置连接
但是数据库连接没有螺母,这可能是什么原因?
(某些查询使用相同的连接)
使用继承时,我遇到了Factory模式的问题,
这是我的代码
public class Animal {
public int numberOfLegs() { return 2 ;}
}
public class Cat extends Animal {
public String getSound() {return "Maaaw";}
}
public class Dog extends Animal {
public String getSound() {return "woof";}
}
public class AnimalFactory {
public Animal getAnimal(String name){
Animal an= null ;
if(name=="cat"){an = new Cat();}
else if(name=="dog"){an=new Dog();}
return an ;
}
}
public class FactoryDemo {
public static void main(String[] args) {
AnimalFactory anmF=new AnimalFactory();
Animal anm=anmF.getAnimal("cat") ;
System.out.println("legs : …
Run Code Online (Sandbox Code Playgroud) 我正在尝试格式化Date对象并将格式化的对象转换回Date类型对象
这是我的代码
SimpleDateFormat inputDf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss zzz");
System.out.println("before format "+invoiceDate);
invoiceDate=inputDf.parse(inputDf.format(invoiceDate));
System.out.println("after format "+inputDf.format(invoiceDate));
System.out.println("after parse "+invoiceDate);
Run Code Online (Sandbox Code Playgroud)
从上面的代码输出是
before format : Mon Jan 14 10:55:40 IST 2013
after format : Mon Jan 14 2013 10:55:40 IST
after parse : Mon Jan 14 10:55:40 IST 2013
Run Code Online (Sandbox Code Playgroud)
你可以看到我解析日期对象后它转换回原始格式(格式显示格式之前),但我希望Date对象像它出现在第二个打印行(格式化后)的东西是.format方法返回String不是Date对象, 我怎样才能解决这个问题 ?
谢谢
我用morphia在mongoDB中运行map reduce,这是我的java代码
String map = "function() { emit(this.id,this.cal.charge)}";
String reduce = "function(k, v) {var i, sum = 0;for (i in v) {sum += v[i];}return sum;}";
MapreduceResults<Results> mrRes = ds.mapReduce(MapreduceType.MERGE,ds.createQuery(MyTable.class).field("id").equal(5),map,reduce,null,null,Re.class);
Run Code Online (Sandbox Code Playgroud)
这工作正常并将结果放到'Re'集合中,但是如何在不插入新集合的情况下将结果作为对象或列表获取?
谢谢