sql >> データベース >  >> RDS >> Mysql

JPA CriteriaBuilderは、join +likequeryを作成する方法

    1. 選択は不明確です。 SQLでは、s.*, p.name, p.codeを選択します 、ただし、基準ではLongが必要です ?

    2. あなたのLEFT JOIN LEFTである必要はありません 。

    3. 基準では、まったく参加していません。

    4. 一般的なアドバイスとして、メタモデルを使用する必要があります。

    すべてのStockが必要だと思います 少なくとも1つのProductを含む %value%のような名前

    私の仮定が正しければ:

    CriteriaBuilder cb = em.getCriteriaBuilder();
    
    CriteriaQuery<Stock> cq = cb.createQuery(Stock.class);
    
    Root<Stock> stock = cq.from(Stock.class);
    Join<Stock, Product> product = stock.join(Stock_.products);
    
    cq.select(stock);
    cq.distinct(true);
    cq.where(cb.like(product.get(Product_.name), "%" + value + "%");
    
    return em.createQuery(cq).getResultList();
    



    1. アプリケーションでのMySQLとMongodbの組み合わせ

    2. MySQLデータベースのクローン化

    3. テーブル内の重複する行を削除する

    4. F#オンラインMySQLDBに接続してクエリを実行する