0

エンティティ クラス内に、タイムスタンプ タイプの列があります。

@Column(name = "TESTD")
@Temporal(TemporalType.TIMESTAMP)    
private Date test_date;

セッション Bean 内で、resultList を返す選択クエリを作成し、そこから json オブジェクトを作成しています。

Query query = em.createNamedQuery("findAllTest");                                               
List<entityClass> results = query.getResultList();  
JSONSerializer.toJSON((List)results ,jsonConfig);

json オブジェクトを作成するときに、タイムスタンプ列をフォーマットする (オブジェクトとして返さない) 必要があります。これはどのように行うことができますか?必要な日付形式に従ってタイムスタンプ列をキャスト/フォーマットするにはどうすればよいですか? これを行う最良の方法は何ですか?

4

2 に答える 2

1

コードサンプルに基づいてjson-libを使用していると思いますが、私はそれを使用したことがありませんが、javadocはJsonConfigが次のメソッドを提供することを示しています:

public void registerJsonValueProcessor(Class propertyType,
                                       JsonValueProcessor jsonValueProcessor)

Registers a JsonValueProcessor.
[Java -> JSON] 

したがって、そのメソッドを使用して、必要な形式を使用して Calendar オブジェクトを String に変換する Calendar.class のプロセッサを登録できると思います。

于 2012-10-28T14:00:31.797 に答える
0

希望どおりに書式設定された文字列として日付を返す 2 つ目の一時ゲッターを作成します。ハックの場合は少しですが、機能します。

于 2012-10-28T14:06:51.880 に答える