1

次のクラスがあるとします。

@Entity
public class CompanyImpl extends BaseEntity {

    @OneToMany(cascade=CascadeType.ALL)
    private Map<Cat,Flight> flightCats;

CatクラスとFlightクラスには、どちらも「name」プロパティがあります。どうやって:

  1. 「ニャー」という名前の猫がいるマップのペアとともに「テック」という名前の会社を選択します
  2. 「Ocean」という名前のフライトを持つマップのペアとともに「Tech」という名前の会社を選択しますか?

私は次のようなことを考えます

CompanyImplからcoleftjoin fetch co.flightCats fc where co.name ='Tech' and fc.cat.name ='Meow'

しかし、それは機能しません:(

4

1 に答える 1

1

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/queryhql.html#queryhql-expressions

ドキュメントを読むと、やりたいことができないことがわかります。マップの内容に基づいて企業を選択することしかできませんが、クエリと共にマップを実際にサブセット化することはできません。

于 2013-01-07T19:07:20.410 に答える