問題タブ [embeddable]

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.

0 投票する
1 に答える
1006 参照

java - ジャバJPA. Javaによって同じ(一意の)ように解釈される類似のレコードがいくつかある場合、DBから特定の行のみを選択する方法

このような状況があります: Hibernate で JPA を使用しており、DB からデータを取得したいと考えています。残念ながら、一意の制約の 2 つの異なるセットがあります。1 つはデータベース テーブルにあり、もう 1 つは Java エンティティに少し異なります。そこにアクセスできないため、DBで変更できません。また、アプリケーションの他の部分でエラーが発生する可能性があるため、Javaエンティティで変更することもできません。

Oracle Database にはテーブルFooがあります。内部には、2 つの同様のレコードがあります。

テーブル

私のJavaエンティティは、パラメータに基づいてレコードが一意かどうかを決定します:

  1. リスト項目
  2. ACC_ID
  3. PLACE_ID
  4. インストール_ID
  5. DISM_DATE
  6. BOX_ID
  7. FOO_ID
  8. ACC_START_DATE

したがって、Foo エンティティに基づいて休止状態の選択クエリを実行した後、データベースからレコードを 1 つだけ取得します (java は、db からの両方の foo が同じであると考えているため)。

それは問題ありません (私は 1 つの結果を好む) が、これら 2 つのレコードのどちらを最後に取得するかをどうにかして指定できますか? この場合、ACTIVITY_FLAG = 'Y' (テーブルから最初ではなく、ランダムでもなく、最新でもない) で 1 つを取得したいとします。これは可能ですか?

現在、@Embeddable および @IdClass アノテーションを使用して、Java コードで一意のパラメーターを設定しています。

Foo.java クラス:

FooPK.java クラス:

アイデアをありがとう!

0 投票する
10 に答える
21651 参照

java - hibernate h2 埋め込み可能リストに期待される「識別子」

従業員エンティティ内で関数 (埋め込み可能) のリストを関連付けようとしていますが、H2 は「識別子」が必要であると言って不満を抱いているようです。

原因: org.h2.jdbc.JdbcSQLException: SQL ステートメントの構文エラー " CREATE TABLE EMPLOYEE_FUNCTIONS ( EMPLOYEE_EMPLOYEEID VARCHAR(255) NOT NULL, ACTIVE BOOLEAN NOT NULL, DEPARTMENTNUMBER INTEGER NOT NULL, DESCRIPTION VARCHAR(255), ORDER[*] INTEGER NOT NULL ) "; 期待される「識別子」;

問題は、私はすでに他のプロジェクトでそれを行っており、なぜそれが機能しないのかわかりません。

従業員.java

関数.java

必要のない Employee のいくつかのプロパティを削除しました。このエラーの原因は何ですか? 従業員の識別子として文字列を持っているためですか? もしそうなら、Hibernate に Employee_EmployeeID を識別子として追加するように指示するにはどうすればよいですか? ありがとう

0 投票する
0 に答える
713 参照

java - @ElementCollection (Java-Hibernate) 内にリストを配置します。

@Embeddable @ElementCollection 内に LinkedList を配置しようとしていて、私に与えています: org.hibernate.MappingException

主要:

主なエンティティ:

埋め込みクラス:

エラー:

データベースに Advertiser オブジェクトを作成しようとすると、エラーがジャンプします。