問題タブ [hyperjaxb]
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 - Hyperjaxb3: スーパークラスの ID を使用するにはどうすればよいですか?
*.xsd ファイルから一連の Java クラスを生成しようとしていますが、すべて共通のマップされたスーパークラス (DataObject と呼ばれます) を持っています。これまでのところ、bindings.xjb ファイルで以下を使用して、DataObject の子孫であるクラスを生成することができました。
私の問題は、Hyperjaxb3 が hjid と呼ばれる独自の主キーを生成することですが、DataObject には既に主キーが含まれており、それを使用する必要があります。
では、Hyperjaxb3 がすべてのクラスに対して hjid を生成しないようにするにはどうすればよいでしょうか? オンラインで見つけたさまざまな提案をすでに試しましたが、うまくいきませんでした。
maven - 外部 jaxb-Binding で @java.persitence.Table を編集する
xsd-Schema から Java クラスを生成する Maven プロジェクトをセットアップしました。最初に maven-hyperjaxb3-plugin を構成し (以下の pom.xml スニペットを参照)、エンティティーにデフォルトの JPA2 アノテーションを配置できるようにします。この注釈の 1 つは @java.persitence.Table(name = "table_name") です。スキーマの名前も入れられるように、外部グローバル バインディングを介してこの注釈を拡張したいと考えています。@java.persitence.Table(name = "table_name", schema = "schema_name") を取得するようにします。これを行う方法はありますか?テーブルの名前にプレフィックスをグローバルに配置するのはどうですか: @java.persitence.Table(name = "prefix_table_name")、それを行う方法はありますか?
よろしくエルゼン
pom.xml スニペット
bindings-xjc.xjb スニペット
java - hyperjaxb3 で 1 対多の関係を更新不可または挿入不可としてマークする
Hyperjaxb3 を介して JPA オブジェクトを生成するために使用するこの XSD 定義があります。基本的に、必要なのは、生成されたクラスがエンティティではなく列にアクセスできるようにすることです。エンティティ経由ではなく、 CASE_IDフィールドを直接変更できるようにしたい
これは、構成ファイルbinding.xjbの一部です。
これは完全に機能します。ただし、これにより、このようなフィールドが生成されます。
必要なのは、hyperjaxb 構成を変更して、次のようなものを生成できるようにする方法です。
この@JoinColumn(name = "CASE_ID", updatable = false, insertable = false)であるため、 binding.xjbファイルで構成する方法がわからないため、このように複合型を定義できます
java - Hyperjaxb で生成された @Column 属性に columnDefinition プロパティを追加する
Hyperjaxb を使用して JPA マッピングを生成しています。次に、hibernate3-maven-plugin を使用してデータベースの SQL スクリプトを生成します。私の問題は、次のように定義されたプロパティを持つ型があるという事実にあります。
SQLスクリプトは、次のように列を定義します
そして、JPAエンティティはそれを次のように定義します
バックエンドとして MySql を使用しています。JPA/Hibernate entityManager がデータベースに対して JPA モデルを検証しようとすると、問題が発生します。次に、このエラーが発生します
このエラーを修正するにはどうすればよいですか? どこかで読んだところ、Javaコードでこのようなことができる
しかし、私の JPA Java コードは Hyperjaxb によって自動生成されます。
java - 外部インターフェイスの実装を強制するための hyperjaxb マッピングの設定
hyperjaxb xsd ファイルとバインディング構成があります。生成されたクラスに、別のアーティファクトで宣言されたカスタム インターフェイスを強制的に実装するにはどうすればよいですか? を使用して別のクラスを拡張できることを知っています
しかし、別のインターフェースも実装する必要があります。どうすればそれを達成できますか?