問題タブ [jaxb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - jdk1.5 を使用した JAXB 2.0 が数字で始まる文字列列挙を認識できないのはなぜですか?
以下は、JAXB クラスを生成するために使用したサンプル スキーマです。私が気づいたのは、列挙型の文字列型がある場合、たとえば、私の場合は値が数値で始まる stepType の場合、JAXB は StepType クラスなどの別の列挙型クラスを生成しないことです。値にアルファベットのみを使用すると、正常に機能します。これが既知のバグかどうか誰か教えてください。
java - 役割ベースまたはショッピング カート スタイルの Java Bean バインディング?
できれば JAX-B を使用して、Web サービスから XML として公開したい POJO があります。
XML で公開する必要があるフィールドは、リクエストを行っているユーザーのタイプによって異なります。たとえば、HumanResources および Finance ユーザーの役割があります。ユーザーは次のように定義できます。
@XmlRootElement
パブリック クラス ユーザー {
@XmlElement public String someHumanResourceData;
@XmlElement public String someFinanceData;
}
HR ユーザーには HR データを表示し、Finance には Finance データを表示したいのですが、それ以上は何もありません。HR は財務データを表示しないようにする必要があります。
これを行う方法について推奨されるアプローチはありますか? Web でより多くの情報を検索するために使用できる検索用語は何ですか?
魅力的とは思えないいくつかのアイデア: 1) サブクラス化を使用して、関連データのみを持つ FinanceUser と HumanResourceUser と、共有データを持つ親 User を公開できます。ただし、これは壊れやすく、小さな例で機能する可能性があります。生産には、より柔軟で構成的なアプローチが必要だと感じています。2) ある同僚が「ショッピング カート」アプローチを推奨しています。このアプローチでは、クライアントは要求ごとに必要なフィールドを要求します。私はこれを行う標準的な方法を見つけていないか、このアプローチを行った他の多くの人々でさえ見つけていません。それは私にとって本当に自家製で労働集約的なものに聞こえます。
他のアイデアはありますか?
java - xmlをアンマーシャルしようとしたときにクラスキャスト例外が発生しましたか?
ここでクラスキャスト例外を乗り越えようとしています:
この例外をスローします:
私はこれを理解していません-クラスはxjc.batツールによって生成されたので-そしてそれが生成したクラスは私がまったく変更していません-したがってここではキャストの問題はないはずです-アンマーシャラーは本当に私にクラスを返すはずですFooClassにキャストできます。
私が間違っていることについて何か考えはありますか?
c# - C#で同等のJaxb
JavaでJAXBを使用すると、xmlスキーマファイルから、そのスキーマに準拠するxmlを逆シリアル化できるJavaクラスのセットを簡単に生成できます。
JAXBに相当するC#はありますか?Linqはクラスをxmlファイルとの間でシリアル化および逆シリアル化できることを知っています。しかし、xmlスキーマファイルからC#クラスを生成し、このクラスをlinqで使用するにはどうすればよいですか?
java - JAXB、CXF、または Hibernate ツールによって生成された Java コードを拡張するにはどうすればよいですか?
生成された Java ソース コードを使用して、
- Hibernate ツールで生成されたコード
- JAXB スキーマ バインディング (xjc) で生成されたコード
- WDSL2Java (cxf) で生成されたコード
生成されたクラスはすべて「値オブジェクト」型であり、ビジネス ロジックはありません。また、生成されたソース コードにメソッドを追加すると、ソース コードの生成を繰り返すと、これらのメソッドが失われます。
これらの Java コード生成ツールは、生成されたコードを「拡張」する方法を提供しますか?
例えば、
- ToString メソッドをオーバーライドする (ログ用)
- 訪問者パターンを実装する (データ分析/検証用)
java - JAXB タイプの問題
次のような xsd があります (スニペット):
何らかの理由で、これは生成される Java コードです。
クラスがこのように生成され、単にある種の文字列配列ではないのはなぜですか? 何かを作成するたびに JAXBElements を作成する必要は本当にありませんか?
単に文字列などを表す型ごとにクラスを生成するにはどうすればよいですか?
前もって感謝します、
イアン
java - JAXBContextの初期化の高速化?
多数(> 1000)のクラスでjavax.xml.bind.JAXBContextsの初期化を高速化する方法はありますか?XMLを多用するアプリケーションでは、起動時間は約10分で、主にJAXBContextの初期化時間で構成されます。:-(
XSDからのコード生成には、JDK 1.5でのSunのJAXB実装と、org.jvnet.jaxb2.maven2.maven-jaxb2-pluginを使用しています。
明確化:問題は、同じコンテキストパスを持つJAXBContextのインスタンスが多数あることではありませんが、問題は、1つのJAXBContextの初期化に数千のクラスをロードして処理する必要があるため、数十秒かかることです。(私たちのXSDはかなり大きくて複雑です。)すべてのJAXBContextインスタンスは異なるコンテキストパスを持っています-これ以上数を減らすことはできません。