我想知道是否可以從HQL中的名爲參數的對象檢索特定的列。HQL對象命名參數
例
public class Product
{
private int id;
private Supplier supplier;
private String name;
private String description;
private double price;
public Product()
{
super();
}
public Product(String name, String description, double price)
{
super();
this.name = name;
this.description = description;
this.price = price;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Supplier getSupplier()
{
return supplier;
}
public void setSupplier(Supplier supplier)
{
this.supplier = supplier;
}
public double getPrice()
{
return price;
}
public void setPrice(double price)
{
this.price = price;
}
}
,你可以看到我創建的產品,並在其內具有一個供應商對象。 所以,當我做HQL,並呼籲
String hql = "from Product as product where product.supplier=:supplier";
Query query = session.createQuery(hql);
query.setEntity("supplier",supplier);
List results = query.list();
displayProductsList(results);
但有可能只得到產品的供應商的名稱? 而不只是整個供應商?
我不明白你在問什麼。你想只選擇供應商的名字?或者您想按供應商名稱查找所有產品?或者您想選擇產品,但只填寫其供應商名稱而不是所有屬性,即獲取所有產品字段+產品的供應商名稱? –
試圖選擇供應商的名稱,因此它將是product.supplier.name – Kevin
如果您只是想要供應商名稱,然後使用供應商供應商選擇supplier.name。如果你感興趣的是供應商,爲什麼要使用產品實體? –