Item是一个抽象类,它由Material和Product类实现。如何在Java/MySQL中查询继承的类类型?
分配实体有一个属性“item”,它是一个Item类型。如何检查“商品”是否为产品类型?现在我正在使用它,但它似乎并不是最佳的。
"SELECT d FROM " + Distribution.class.getName() + " d, " + Product.class.getName() + " p WHERE d.item = p"
Item是一个抽象类,它由Material和Product类实现。如何在Java/MySQL中查询继承的类类型?
分配实体有一个属性“item”,它是一个Item类型。如何检查“商品”是否为产品类型?现在我正在使用它,但它似乎并不是最佳的。
"SELECT d FROM " + Distribution.class.getName() + " d, " + Product.class.getName() + " p WHERE d.item = p"
Product.class.getName()
将返回全限定类名。
但是,如果你有这样的:
Item item1= new Product(); Then
item1.getClass().getSimpleName();
将返回产品为字符串类型。
所以,你可以有:
if(item1.getClass().getSimpleName().equals("Product")) {
// Do something like
Product product = (Product)item1;
有了'instanceof',但如果你需要做到这一点你已经做别的事情是错误的。 – EJP 2014-10-19 08:50:29
您能否详细说明一下? – octopish 2014-10-19 08:56:00