私はSpringMVC + Hibernateを使用しています。私は解決するために苦労している問題に直面しています。 状況は以下の通りです:Hibernateを使用して他のエンティティによって作成されたエンティティを1つのテーブルに格納する方法は?
私は、このエンティティを持っている:
@Entity
@Table(name = "T_inscription")
public class T_inscription implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id_inscription;
@Valid
private Identite identite;
@Valid
private ParamConnexion paramConnexion;
//........
}
このクラス:
public class Identite implements Serializable {
@Size(min = 2)
@NotBlank
@Pattern(regexp = "[\\p{L}\\p{Alpha} -]*")
@Column(name = "nom")
private String nom;
@Size(min = 2)
@NotBlank
@Pattern(regexp = "[\\p{L}\\p{Alpha} -]*")
@Column(name = "prenom")
private String prenom;
//....
}
そして、この1:
public class ParamConnexion implements Serializable {
@Pattern(regexp = "[\\p{L}\\p{Alnum}-_]*")
@Size(min = 2)
@Transient
private String identifiant;
@Pattern(regexp = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\."
+ "[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"
+ "@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")
@Column(name = "email")
private String email;
//.....
}
マイテーブル "T_inscription" は含まれていこれらのフィールドは、 "id_inscription"、 "nom"、 "prenom"、 "identifiant"、 "email"などです。
私の質問は、 "T_inscription"テーブルの "Identite"と "ParamConnexion"クラスの属性を保存するにはどうすればよいですか?
私はクラスごとにテーブルを作成したくありません。これを行う方法はありますか?
私が試したと私は、このexeptionました:Unknown column 'identite' in 'field list'
私は私のテーブルでは、このフィールドを持っていないと私はそれを作成したくないので、それは普通のことですが、私はちょうど「Identite」のプロパティを取得したいが。
多くのありがとうございます。
ありがとうございます。どこかの記述とともにすべての注釈のリストがありますか? – akuma8
はい。 javadoc(https://docs.oracle.com/javaee/7/api/)にあります。仕様(http://download.oracle.com/otndocs/jcp/persistence-2_1-fr-eval-spec/index.html)を参照してください。 –
私はすでにJSR338 pdfをダウンロードしたことに気付きましたが、私が必要としていたものを探す場所がわかりませんでした。私はフランス語であり、実際に英語をマスターしていないので、この種のデータシートで必要な情報を見つけることはかなり困難です。再度、感謝します。 – akuma8