struts + hibernate笔记

1.hibernate:

  1)

  Restrictions.eq  判断是否相等== (场景:一个类A中的属性t,这个属性t是另一个类B中的ID,找出输入为这个属性t的所有类A)

  tasks = session.createCriteria(Task.class).add(Restrictions.eq("user", user)).list(); (假设属性t是User类的ID,是Task的一个属性userId,

                                那么应该先new一个User对象user,setId(userId),然后把这个user作为参数传递)

    参考:http://blog.csdn.net/zhujiaxing666666/article/details/8510901

  Restrictions详细:http://www.cnblogs.com/evon168/archive/2010/10/29/1863059.html

  2)

  通过一方TModelBasic(modelBasicId 实体类中主键)查询多方TModelDetail

  Criteria criteria = hibernateDao.getHSession().createCriteria(TModelDetail.class);
      criteria.add(Restrictions.sqlRestriction("MODEL_ID="+modelBasicId));

  return criteria.list();

  3)

   hibernate反向生成实体类和hbm配置文件:参考:http://yusun.iteye.com/blog/1671636

  龙哥的分享:
    分享一个小case:
  myeclipse里通过hibernate反射生成实体类和xml,用和目标数据库相同版本的jdbc包,可以完整的生成xml配置(主要是注释)
  
  
       另:
    ORACLE数据库number类型使用hibernate反向生成JavaBean的数据类型 参考:http://blog.163.com/mount_lee/blog/static/20202509520124805842951/
  4)set方法参数类型错误:
   debug: get/set方法,数据库表里字段属性,hibernate配置文件hbm
  5)级联保存时hibernate的配置文件一定要加上级联

    6)Hibernate Session & Transaction详解  参考:http://blog.163.com/magicc_love/blog/static/1858536622012092478227/

2.s:select标签

  参考:http://blog.csdn.net/moliqin/article/details/3753570 为例:

  <s:select list="programs"  listValue="programName" listKey="programid"  name="program" id="program"
             headerKey="0l" headerValue=“"></s:select> 

  name负责传递(需要在Action中定义get/set方法),listKey为想要传递的值,list为集合,listValue为显示在页面的值  

  当跳转到有这个标签的页面,并且想要显示选定值时,在Action中跳转之前定义name的值为想要选定的值

原文地址:https://www.cnblogs.com/-wangjiannan/p/3283241.html