首先是我的设置:
运行此条件查询时,我遇到了ClassCastException:
Criteria sellableItemsCriteria = session.createCriteria(MarketData.class, "md");
sellableItemsCriteria.add(Restrictions.in("region", regions));
sellableItemsCriteria.add(Restrictions.in("itemTypeId", items));
DetachedCriteria sellOrderSizeCriteria = DetachedCriteria.forClass(MarketOrder.class);
sellOrderSizeCriteria.add(Restrictions.eq("marketDataId", "md.id"));
sellOrderSizeCriteria.add(Restrictions.eq("bid", false));
sellOrderSizeCriteria.setProjection(Projections.count("marketDataId"));
sellableItemsCriteria.add(Subqueries.lt(0L, sellOrderSizeCriteria));
Run Code Online (Sandbox Code Playgroud)
例外:
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
Run Code Online (Sandbox Code Playgroud)
问题来自这一行(首先我尝试使用0而不是0L而且我得到的Integer不能转换为Long以便为什么我切换到Long):
sellableItemsCriteria.add(Subqueries.lt(0L, sellOrderSizeCriteria));
Run Code Online (Sandbox Code Playgroud)
这是我想运行的mysql查询:
SELECT md.* FROM `marketdata` md
WHERE md.region IN (:regions)
AND md.item_typeID IN (:items)
AND (SELECT COUNT(marketData_id) FROM `marketorder` WHERE marketData_id = md.id AND bid = 0) > 0
Run Code Online (Sandbox Code Playgroud)
我该如何解决演员问题?
或者也许有更好的方法来使用Criteria?
谢谢
为什么显示此代码my/url/而不是my/url?
<?php
$url = "/my/url/";
echo preg_replace("#^/?(.+)/?$#","$1",$url);
?>
Run Code Online (Sandbox Code Playgroud) 我有一个 Parent 类和一个 Child 类,json 字符串包含 Child 类的属性,但是当我执行 DeserializeObject 时,我无法获得这些属性,因为 Child 成为了 Parent。
例如 :
class Data {
public List<Parent> Parents;
}
class Parent {
public string Foo;
}
class Child : Parent {
public string Bar;
}
var data = new Data { Parents = new List<Parent> { new Child{Bar = "a"} } };
Console.WriteLine(data.Parents.Count); // <= it prints 1
Console.WriteLine(data.Parents.OfType<Child>().Count()); // <= it prints 1
var dataJson = JsonConvert.SerializeObject(data);
data = JsonConvert.DeserializeObject<Data>(dataJson);
Console.WriteLine(data.Parents.Count); // <= it prints 1 …Run Code Online (Sandbox Code Playgroud) 网址:http : //www.evemarketeer.com/api/orders/10000043/30119/xml
我试过这个
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(url.openStream());
Run Code Online (Sandbox Code Playgroud)
但是不起作用,有人知道用简单的方法创建文档吗?
谢谢