誰かがJPAを使用してこれらの3つのテーブルを結合する方法を教えてもらえますか?
私はすでに3つのエンティティのうち2つを実行しましたが、問題がないかどうか教えてください。
@Entity
public class Pacienti {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String nume;
private String prenume;
//setters & getters
}
@Entity
public class Chestionare {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Id
@Column(name = "id_intrebare")
@GeneratedValue(strategy = GenerationType.AUTO)
private int idIntrebare;
private String intrebare;
//setters & getters
}
エンティティを自動的に生成した後、戻ってくると約束します。残念ながら今、私は別の問題を抱えています。今、私はエンティティを持っています:
@Entity
@Table(name = "pacienti")
@NamedQuery(name = "Pacienti.findAll", query = "SELECT p FROM Pacienti p")
public class Pacienti implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(unique = true, nullable = false)
private int id;
@Column(nullable = false, length = 20)
private String nume;
@Column(nullable = false, length = 20)
private String prenume;
// bi-directional many-to-one association to Consultatii
@OneToMany(mappedBy = "pacienti")
private List<Consultatii> consultatiis;
// bi-directional many-to-one association to DetaliiPacient
@OneToMany(mappedBy = "pacienti")
private List<DetaliiPacient> detaliiPacients;
// bi-directional many-to-one association to Doctori
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_doctor", nullable = false)
private Doctori doctori;
// bi-directional many-to-one association to RaspunsChestionar
@OneToMany(mappedBy = "pacienti")
private List<RaspunsChestionar> raspunsChestionars;
public Pacienti() {
}
//setters and getters
}
しかし、私がするとき:
Query queryResult = sessionFactory.getCurrentSession().createQuery("from Pacienti");
私は得ています:
Pacientiがマップされていません[Pacientiから]エラー。
誰かが理由を教えてもらえますか?「pacientiは[pacientiから]マップされていません」も試しましたが、同じ結果になりました
ありがとうございました!
手動で作成するのではなく、データベーステーブルを使用してこれらのjpaエンティティを自動生成するIDEで利用可能なjpaツール/プラグインを使用することをお勧めします。また、自動生成プロセス自体で、さまざまなエンティティ(dbテーブル)間の関係を設定します。Eclipseの場合、これを実現できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加