3

名前付きクエリをすべて別のファイルに保存する必要があります。例えば

@javax.persistence.NamedQueries({
    @NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")})

public class AllNamedQueries {

}

これで、それ自体で「名前付きクエリはEntityまたはMappedSuperClassクラスでのみ定義できます」というエラーが発生します。

名前付きクエリを別のファイルに作成するにはどうすればよいですか?個別とは、エンティティファイル以外のファイルを意味します。

4

1 に答える 1

3

これを使用orm.xmlして、XMLでJPAマッピングを定義できます。このアプローチは同等であり、注釈をオーバーライドします。

jpaとhibernateを使用したorm.xmlでの名前付きクエリの定義に基づく例:

<entity class="com.example.Employee">
    <table name="Employee.findAll" />
    <named-query name="findAll">
        <query><![CDATA[
          SELECT e
          FROM Employee e
        ]]></query>
    </named-query>
</entity>
于 2011-12-06T22:30:56.757 に答える