0

product というクラスがあります ここに定義があります

public class Product {
    private String productId;
    private Set<Label> name;


    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public Set<Label> getName() {
        return name;
    }

    public void setName(Set<Label> name) {
        this.name = name;
    }
}

name というプロパティを select ステートメントで取得したいので、これをマッピング ファイルに追加しました。

<class name="Product"  table="PRODUCT">

        <id name="productId" type="java.lang.String">
            <column name="PRODUCTID" />
            <generator class="assigned" />
        </id>

        <set name="name" cascade="all" inverse="true" lazy="false">
            <key column="CONTENTID" />
            <one-to-many class="com.dbs.web.models.org.Label" />
            <loader query-ref="nameLabel" />
        </set>

    </class>


<sql-query name="nameLabel">
        <load-collection alias="lbl" role="Product.name" />
        SELECT {lbl.*} FROM LABEL lbl where lbl.CONTENTID = :productId and
        lbl.KEY ='name'
    </sql-query>

したがって、これはすべてうまく機能します。あまりうまくいかないのではないかと少し心配です。SQLクエリによって数千のレコードが返されるわけではなく、10のようになる可能性があります.

これを達成できる別の方法はありますか。

4

0 に答える 0