ホームページ  >  記事  >  Java  >  Hibernate の @OneToMany アノテーションを使用すると、「次のタイプを決定できませんでした: java.util.List」というメッセージが表示されるのはなぜですか?

Hibernate の @OneToMany アノテーションを使用すると、「次のタイプを決定できませんでした: java.util.List」というメッセージが表示されるのはなぜですか?

DDD
DDDオリジナル
2024-10-25 17:23:02819ブラウズ

Why am I getting

リストのタイプを決定できませんでした

問題:

データ操作に Hibernate を使用すると、エラー「」が発生します。 java.util.List のタイプを特定できませんでした。」これは、@OneToMany アノテーションと @ManyToOne アノテーションを使用して College エンティティと Student エンティティの間で 1 対多の関係を定義しているときに発生します。

Background:

このエラーは、Hibernate がコレクションのタイプを特定できません (List)。 @Id アノテーションで示されているように、フィールド アクセス戦略を使用する場合、アノテーションはゲッター メソッドではなくフィールドに適用する必要があります。

解決策:

エラーを解決するには、次のようにします。 College クラスの @OneToMany 注釈を、ゲッター メソッドではなくフィールドに直接適用されるように変更します。修正されたコードは次のとおりです:

<code class="java">// College.java

@Entity
public class College {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int collegeId;
    private String collegeName;

    @OneToMany(targetEntity=Student.class, mappedBy="college", fetch=FetchType.EAGER)
    private List<Student> students;

    // Other getters and setters omitted
}</code>

追加の考慮事項:

  • クラスパスを再確認し、Hibernate の依存関係が含まれていることを確認してください。
  • データベースのテーブル構造がエンティティ マッピングと一致していることを確認してください。
  • データベース内の外部キー列に「collegeId」とは異なる名前です。

以上がHibernate の @OneToMany アノテーションを使用すると、「次のタイプを決定できませんでした: java.util.List」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。