Java Hibernateマッピング例外! (java.util.mapのタイプを決定できませんでした)

StackOverflow https://stackoverflow.com/questions/4324839

質問

私は、従来のフィールドを持つ映画の名前でクラスを作りました:

    @Id
@GeneratedValue
private Long id;
private String name;
@ElementCollection(targetClass = String.class)
private Map<String, String> properties;
private Double rate;
private Integer votersCount;
private Date releaseDate;
private Integer runtime;
@ManyToMany
@JoinTable(name = "movie_director")
@IndexColumn(name = "directorIndex")
private List<Person> directors;
@ManyToMany
@JoinTable(name = "movie_writer")
@IndexColumn(name = "writerIndex")
private List<Person> writers;
@OneToMany
@IndexColumn(name = "roleIndex")
private List<MovieRole> movieRoles;
@ManyToMany
@JoinTable(name = "movie_genre")
@IndexColumn(name = "genreIndex")
private List<Genre> genres;

ご覧のとおり、私は冬眠注釈を使用し、オブジェクトはBeanです。しかし、次のコードで冬眠セッションを開こうとするとき...

session = HibernateSessionFactory.getSessionFactory().openSession();

java.util.mapクラスをマッピングできないという問題が発生しました。これが例外スタックトレースです:

org.hibernate.MappingException: Could not determine type for: java.util.Map, for columns: [org.hibernate.mapping.Column(properties)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253)
at org.hibernate.mapping.Property.isValid(Property.java:185)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:410)
at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1099)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1284)
at main.HibernateSessionFactory.getSessionFactory(HibernateSessionFactory.java:29)
at main.MainClass.main(MainClass.java:26)

私は冬眠が初めてで、何が起こっているのか正確にはわかりません...助けてください!

役に立ちましたか?

解決

これは、JPA2の実装を使用する必要があるためです!この男は 同じ問題

他のヒント

私も同じ問題に直面しています。それは遅れていますが、それは他の人に役立つと思います。 @mapkeycolumn。

@ElementCollection(targetClass=String.class)
@MapKeyColumn(name="Employee_Position")
private Map<String,String> position=new HashMap<String,String>();

プロパティだけではありません List<String> タイプ?

Hibernatesの混乱は私のものと同じであるように聞こえます。そこで何をしようとしていますか?

ああ、そのa。最新の瓶を使用していない限り、原始をマップできるとは思いません。 https://forum.hibernate.org/viewtopic.php?t=955308. 。そのリンクを確認してください。キーと価値のあるプロパティとして呼ばれるクラスを作成して、それを使用できますか?同様の問題があり、そのアプローチを使用する必要がありました。

プロパティ用のゲッターとセッターの両方がありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top