Codes的配置文件
  <many-to-one name="databases" class="com.xxx.Databases" fetch="join" lazy="false">
            <column name="databasesID" not-null="true" />
 </many-to-one>
#第一个:查出仅仅包含.send的数据库以及节点
#第二个:查出仅仅包含@MailSend的数据库及其节点
#第三个:查出既包含.send也包括@MailSend的数据库及其节点
#第四个:查出既不包含.send也不包含@MailSend的数据库以及其节点Hibernate

解决方案 »

  1.   


    Criteria criteria = session.createCriteria(Codes.class);
    criteria.createAlias("dataBases", "db");
    criteria.add(Restrictions.like("content", ".send", MatchMode.ANYWHERE));
    criteria.add(Restrictions.not(Restrictions.like("content", "@MailSend", MatchMode.ANYWHERE)));
    List<Codes> codesList = criteria.list();
    数据库可以从Codes对象中取得,其他类似
      

  2.   

    Quote: 引用 1 楼 rencht 的回复:

    Java code?12345Criteria criteria = session.createCriteria(Codes.class);criteria.createAlias("dataBases", "db");criteria.add(Restrictions.like("content", ".send", MatchMode.ANYWHERE));crit……[/quote
    多谢!我还想分页,因为数据量有50多万条
      

  3.   

    分页的话加上:criteria.setFirstResult(startRowNum - 1);
    criteria.setMaxResults(pageSize);
      

  4.   

    这个结果不对,可能我没有表达清楚
    对于第一条来讲,我想找出这样的数据库,这个数据库包含的codes的content有.send,但是绝不能有@MailSend。就像数据库ID=1的就不符合,仅仅是数据库id=8的符合要求