Micronlog表
int id
int uid
varchar uname
varchar wordsMicronlog实体类
private Integer id;
private Integer uid;
private String uname;
private String words;Micronlog.hbm.xml
<hibernate-mapping>
    <class name="com.lyq.model.Micronlog" table="micronlog" catalog="popo">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
       <property name="uid" type="java.lang.Integer">
            <column name="uid" length="22" />
        </property>
        <property name="uname" type="java.lang.String">
            <column name="uname" length="22" />
        </property>
        <property name="words" type="java.lang.String">
            <column name="words" length="22" />
        </property>
    </class>
</hibernate-mapping>则有一段程序这样的,我的意思是在Micronilog表中要找出所有uid等于is里面其中一个值的所有mic.uname 和words
List<Integer> is = new ArrayList<Integer>();
String hql = "select mic.uname,mic.words from Micronlog mic  where ";
for(int i=0;i<is.size()-1;i++){
hql+="mic.uid=? or ";
} hql+="mic.uid=?";
Query query=session.createQuery(hql);
for(int y=0;y<is.size();y++){
query=query.setParameter(y, is.get(y));
}

 List<Object[]> list = query.list();
// 循环输出为
for (Object[] ob  : list) {
System.out.println(" : " + ob[0] );
System.out.println(" : " + ob[1] );
}

解决方案 »

  1.   

    当Microblog中有100万条数据,而且List is中,有1000个元素,这样子会不会慢啊?
      

  2.   

    上面问题解决了,再问一条HQL语句多表查询
    表A (Microblog)                 表B(Relate)                  表C (User)                int id               int id               int id         int id
    User u               User user        String name    String nameD
    int number           User FollowUser
    表A(单向关联name,引用在A中)多对一关联C
    表B(单向关联name,引用在B中)多对一关联C背景是 Relate是关注表 A是博文表 C是用户表请问一条查询语句,就是我知道表B中的user.name为黎明(就是我自己的名字)    然后想找出表B中user.name=黎明   的所有FollowUser所发的博文的number用HQL语句怎么写???写完这条立刻给分结贴谢谢
      

  3.   

    上面问题解决了,再问一条HQL语句多表查询
    表A (Microblog) 
    int id
    User u
    int number
    表B(Relate)
    int id
    User user
    User FollowUser  
    表C (User) 
    int id
    String name                                
    表A(单向关联name,引用在A中)多对一关联C
    表B(单向关联name,引用在A中)多对一关联C背景是 Relate是关注表 A是博文表 C是用户表请问一条查询语句,就是我知道表B中的user.name为黎明(就是我自己的名字)    然后想找出表B中user.name=黎明   的所有FollowUser所发的博文的number用HQL语句怎么写???写完这条立刻给分结贴谢谢 上面没排好。。