映射地图JPA,hibernate键

时间:2012-12-03 09:11:16

标签: java hibernate java-ee jpa-2.0 hibernate-mapping

如何映射地图?

我有这个:

private Map<Integer, Trip> trips = new HashMap<Integer, Trip>();

作为mapkey我想要旅行ID ..

Trip实体持有对我的实体的引用。 (该列位于另一个表中)。 这次旅行有一列我的参考ID。

我该怎么做?

这样的东西
@MapKeyTable(name="trips")
@MapKeyColumn(name="trip_id")
@OneToMany(joinTable......)
private Map<Integer, Trip> trips = new HashMap<Integer, Trip>();

2 个答案:

答案 0 :(得分:1)

如果旅行ID属于Trip(例如tripId),则您需要以下内容:

@MapKey(name = "tripId")
@OneToMany(...)
private Map<Integer, Trip> trips = new HashMap<Integer, Trip>();

其他注释适用于更复杂的情况。

答案 1 :(得分:1)

这样的事情:

@OneToMany(cascade = CascadeType.PERSIST)
@JoinTable(name = "jointableName", joinColumns = @JoinColumn(name = "this_id"), inverseJoinColumns = @JoinColumn(name = "trip_id"))
private Map<Integer, Trip> trips= new Hashtable<Integer, Trip>();