如何检索搜索结果?

时间:2012-10-21 16:18:05

标签: hibernate java-ee

我的项目是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;

1 个答案:

答案 0 :(得分:1)

您不会将getAssets(assets)方法的结果分配给任何变量。我看不出任何人如何显示结果。我猜代码应该是:

AssetsObject assets1 = assetsProvider.getAssets(assets);

不要把它弄糟,但是Java EE和Hibernate是复杂的野兽,看着你的代码,看起来你并没有真正掌握一些基本的Java东西,如调用方法和分配结果。您也不尊重Java命名约定。你不应该花些时间先学习基本的东西吗?