私は、HibernateでSetを使用しようとしています。私がSetテーブルに注釈を書く方法にはわからない問題です。Hibernate:org.hibernate.MappingException:型を判別できませんでした:java.util.Set
@Entity
@Table(name="user_settings")
public class UserSettings {
@Id
@GeneratedValue
private int id;
private int userid;
protected Set<Integer>foreignLanguageId;
public UserSettings() {
}
public UserSettings(int userid, int nativeLanguageId,
Set<Integer> foreignLanguageId, Date birthday) {
this.userid = userid;
this.nativeLanguageId = nativeLanguageId;
this.foreignLanguageId = foreignLanguageId;
this.birthday = birthday;
}
@OneToMany
@JoinColumn(name="userid", nullable=false)// This annotation
public Set<Integer> getForeignLanguageId() {
return foreignLanguageId;
}
エラー:
org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: user_settings, for columns: [org.hibernate.mapping.Column(foreignLanguageId)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:314)...........
を使用することができます
id
関連付けを行うことを企業にない使用するようにすべき私はあなたの 'foreignLanguageId'変数に対して' protected'を 'private'に変更し、getterとsetterをそれと一緒に使うべきだと思うので、それはhibernateに写像できます。 –