我的项目是java ee web应用程序,我使用hibernate,因为我想搜索值为item_id的值,所以,我编写了搜索结果的代码,但搜索值没有显示,所以我怎么解决这个问题请帮助我。< / p>
if(submitType != null && item_id != null)
{
try {
AssetsObject assets = new AssetsObject();
assets.setItem_id(item_id);
AssetsObject assets1 =assetsProvider.getAssets(assets);
item_name= assets1.getItem_name();
hardware = assets1.getHardware();
software = assets1.getSoftware();
vender = assets1.getVender();
venderTel = assets1.getVenderTel();
venderaddress= assets1.getVenderaddress();
return INPUT;
}
catch (Exception e)
{
addActionError("Not vailed item No or its not in the database");
//return INPUT;
}
我的implimenter类查询是这个我认为这个类的问题,你能解决这个问题吗?
公共类AssetsProviderImpl实现AssetsProvider { protected static Logger log = Logger.getLogger(AssetsProviderImpl.class .getName());
private HibernateProvider hibernateProvider;
public AssetsProviderImpl(HibernateProvider hibernateProvider) throws ProviderException
{
this.hibernateProvider = hibernateProvider;
log.info("AssetsProviderImpl created");
}
public AssetsObject insertAssets(AssetsObject assets) throws ProviderException
{
return (AssetsObject) hibernateProvider.save(assets);
}
public AssetsObject getAssets(AssetsObject assets) throws ProviderException
{
try
{
Session session = hibernateProvider.openSession();
try
{
Query query = (Query) session.createQuery("from org.efs.openreports.objects.AssetsObject as assets "
+ "where assets.item_id = ?");
List list1 = (List) ((org.hibernate.Query) query).list();
AssetsObject as = (AssetsObject) list1;
return as;
}
catch (HibernateException he)
{
throw he;
}
finally
{
session.close();
}
}
catch (HibernateException he)
{
throw new ProviderException(he);
}
}
&GT;
答案 0 :(得分:1)
您不会将getAssets(assets)
方法的结果分配给任何变量。我看不出任何人如何显示结果。我猜代码应该是:
AssetsObject assets1 = assetsProvider.getAssets(assets);
不要把它弄糟,但是Java EE和Hibernate是复杂的野兽,看着你的代码,看起来你并没有真正掌握一些基本的Java东西,如调用方法和分配结果。您也不尊重Java命名约定。你不应该花些时间先学习基本的东西吗?