如何映射地图?
我有这个:
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>();
答案 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>();