0

エンティティでクエリを作成しようとしています。

mysql DB に次のテーブルがあります。

 Categorie : id, nom ...

 Article : num_code_barre_, categorie ...  

私のエンティティで カテゴリ:

...

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Size(max = 30)
@Column(name = "nom")
private String nom;

...

私のエンティティで記事:

...

@Id
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 50)
@Column(name = "num_code_barre_")
private String numCodeBarre;
@Basic(optional = false)
@NotNull
@Column(name = "categorie")
private int categorie;

...

私は自分のDBでこのSQLクエリをテストしました.それはうまくいきます:

SELECT c.nom , COUNT(a.numCodeBarre)  FROM categorie c INNER JOIN article a ON c.id =        a.categorie GROUP BY a.categorie

しかし、カテゴリ エンティティで namedQuery を作成しようとすると、出力にエラーが表示されます:「クエリの解析中に構文エラーが発生しました...」

@NamedQuery(name = "Categorie.count", query = "SELECT c.nom , COUNT(a.numCodeBarre)  FROM categorie c INNER JOIN article a ON c.id = a.categorie GROUP BY a.categorie")

誰かがどうすればそれを行うことができるか考えていますか?

4

2 に答える 2

1

「ON」は、JPA 1.0 または JPA 2.0 の JPQL FROM 句の一部ではありません。JPA 2.1でのみ導入され、完全にリリースされていないため、それを使用しているとは思えません

于 2013-05-21T12:36:26.107 に答える