Hibernate の 1 対多マッピング エラー: 「次のタイプを決定できませんでした: java.util.List」
Hibernate での処理1 対多の関係には、慎重なマッピング構成が必要です。このエラーは通常、マッピング アノテーションが正しく配置されていないか構成されている場合に発生します。
提供されたコードを分析すると、次のエラーが発生します。
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]
このエラーは、Hibernate がマッピング アノテーションを特定できないことを示します。 College クラスの学生プロパティのタイプ。提供されたマッピングによると、students プロパティには @OneToMany の注釈が付けられ、List
正しい注釈の配置
@Id アノテーションによって決定されるフィールド アクセス戦略では、ゲッター プロパティではなく JPA アノテーションを各フィールドのすぐ上に配置する必要があります。この場合、students プロパティの正しい注釈の配置は次のとおりです。
@OneToMany(targetEntity=Student.class, mappedBy="college", fetch=FetchType.EAGER) private List<Student> students;
Modified College Class
注釈の配置が修正されると、変更された College クラスは次のようになります。 this:
@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; // Annotation is now placed above the field
// Other getters and setters omitted
}
結論
students フィールドの上に @OneToMany アノテーションを正しく配置することで、Hibernate はプロパティのタイプを適切に判断し、One をマップできるようになりました。大学と学生の間の -対多の関係。この調整により、「次のタイプを決定できませんでした: java.util.List」エラーが解決されます。
以上が「Hibernate の 1 対多マッピング エラー: \\\「次のタイプを決定できませんでした: java.util.List\\\」 - その理由と修正方法\'の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。