5

次のような QueryDsl クエリ エンティティを使用することはスレッド セーフですか?

public class MyDaoImpl implements MyDao {

    private static final QEntity entity = QEntity.entity;

    public List<Entity> entities() {
        return new JPAQuery(em).from(entity).list(entity);
    }

    public List<Entity> otherEntities() {
        return new JPAQuery(em).from(entity).where(entity.foo.isNull()).list(entity);
    }
}

とは対照的に:

public class MyDaoImpl implements MyDao {

    public List<Entity> entities() {
        QEntity entity = QEntity.entity;
        return new JPAQuery(em).from(entity).list(entity);
    }

    public List<Entity> otherEntities() {
        QEntity entity = QEntity.entity;
        return new JPAQuery(em).from(entity).where(entity.foo.isNull()).list(entity);
    }
}
4

1 に答える 1

7

このGoogleグループのディスカッションから答えを見つけました

要するに、

  1. QueryDsl 式はスレッドセーフです
  2. QueryDsl クエリはそうではありません
于 2013-09-06T11:28:57.547 に答える