hibernate真心挺折腾的

 

还是比较习惯mysql直接用sql语句来查询,HQL还需要习惯习惯再习惯哇。

这两天折腾Hibernate真的挺纠结的,可能我对于对象这东西的理解太水了,先ermaster做了数据库,然后用hibernate的逆向工程生成了hibernate的对象类,然后就sb了。

映射那里仔细看下,才知道,表b外键关联表a主键的时候,并木有在表b的对象类中直接生成表a主键,而是直接把表a的对象给引入进去了。呃,解释有点儿混乱。这样子,就说设计的两个表吧,主表是main,有主键id,生成的对象类是Main,然后副表是profile,有主键profileid和外键id,生成的副表对象类是Profile。

  1. Profile p = new Profile(); 
  2. Main m = new Main(); 
  3. p.setMain (m); 
  4. session.saveOrUpdate(p) 

这样子就把一个新的profile对象存上了,但是p并没有外键属性id,因此无法用HQL的from Profile  where id = x来查询,但是其实p是有p.main的,所以要查询的时候使用from Profile where main.id = x来获得已添加的p对象。挺绕的。可能map映射改下就不用那么麻烦了。可能数据库的结构还要变,把isxxx的判断都放到main表中,明天再思考这个问题。

还有那个from xxx.class 1这个东东,明天再查查。

 

3 条评论

  1. 确实闹心~现在用Play1的时候,被逼使用hibernate,各种不爽啊~

    • 是哇,都得从头学起是真的,好多东西都一知半解的。

      • play1要被逼使用hibernate?话说play1是啥东东?

:wx :k :good :fd :gz more »