zoukankan      html  css  js  c++  java
  • 我遇到了Hibernate异常

       

         真是郁闷,今天想用Hibernate的实现对数据库的增删查改,但是就是报异常不断啊!呵呵,为什么?就是在主键的问题上,我用主键的生成形式是:Sequence时就报IllegalArgumentException occurred while calling setter of hibernatePOJO.Table1.id这样的异常!我把主键的生成方式改成assign时就报数据格式的转化异常,这真是把我急坏了!弄了一下午,终于知道问题出在什么地方了,是因为我数据库中的数据是long类型的,而我在程序中的那个POJO类中定义的属性是int类型的,int类型不能转化为long类型,所以我就把程序中的所有的数据都改为long类型的就行了!呵呵,我是高兴啊!^_^!!

             弄个oracle就是在eclipse中连接不上,就是不知道在哪出毛病了,自己仔细检查了一下才知道是因为监听没有打开啊!呵呵,即学习怎么手动打开监听,学习了一个命令很管用的!就是在命令提示符中输入:lsnrctl start,启动监听就ok了,但是还是不能解决我的问题,到底是怎么了呢?我在查一下我的监听的配置,我把所有的localhost全都改成了我的ip真正的地址,结果完全正常的连接上了!^_^!!

       在后来的练习中出现了一个异常我又弄了老长的时间:就是:org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of hibernat_pojo.Person.id 这样的异常真是弄的好烦啊,但是我还是有点点耐心的就慢慢的找,发现我在pojo的持久化对象中生命的变量的类型是int类型的,但是在创建了hibernate的配置文件之后却发现:配置文件中的变量的类型自己转变成long类型的了,所以我只好将pojo类中的变量的数据类型更改为了long类型的,以后碰到这样的异常就知道是配置文件中和自己创建的pojo类的变量的数据类型不一致了!!^_^!!

    以下是能完成hibernate分页的重要的代码!!

    public static void main(String args[]){

            Session session = null;

            Configuration config = new Configuration().configure();

            SessionFactory factory = config.buildSessionFactory();

            session = factory.openSession();

            String hql = "FROM Person";

            Query q = session.createQuery(hql);

            q.setFirstResult(0);

            q.setMaxResults(2);

            List all = q.list();

            Iterator iter = all.iterator();

            while(iter.hasNext()){

            Person person = (Person)iter.next();     System.out.println(person.getName()+"--->"+person.getAge()+"--->"+person.getSex());

           }

    }

  • 相关阅读:
    VC环境OpenSSL编译笔记
    手动造工具TaskJobManage
    Java性能分析工具
    ES77
    Flink消费kafka
    阻塞对列
    C# 超时事件
    毕业前做一件事
    PID控制器——控制网络爬虫速度
    2.5 OpenEuler 中C与汇编的混合编程(选做)
  • 原文地址:https://www.cnblogs.com/huapox/p/3509835.html
Copyright © 2011-2022 走看看