0

NativeQuery を使用すると問題なく動作するクエリがありますが、問題を解決するには EJB クエリを使用する必要があります。EJBでも機能するように、クエリを再フォーマットするのを手伝ってくれる人はいますか?

ネイティブ版はこちら

Query query = getEntityManager.createNativeQuery("WITH src as ("
+ "Select distinct TRUNC(CreationDate) a" 
+ "From myTable)"
+ "Select src.a from src Order by src.a desc");

myTable のクラスはエンティティ型です。プロパティは次のとおりです。

    @Id
    private Long Id; 

    @Column(nullable = false)
    private String Name;

    @Column(length = 30, nullable = false)
    private Timestamp CreationDate;

プロパティは上記のとおりで、セッターとゲッターがあります。(IDを除く) ありがとう

4

2 に答える 2

0

SELECT DISTINCT 
    TRUNC(CreationDate) as a
        FROM 
            (SELECT CreationDate  FROM myTable ORDER BY CreationDate DESC)

于 2014-07-31T17:40:58.227 に答える
0

これを試して:

Query query = getEntityManager.createQuery(
                "select DISTINCT TRUNC(src.CreationDate) 
                   from myTable src 
                  ORDER by src.CreationDate"
              );
List<Object[]> rows = query.list();
for (Object[] row: rows) {
    System.out.println("My date" + row[0]);
}
于 2014-07-31T17:42:07.180 に答える