【问题标题】:mapping a map JPA, hibernate key映射映射 JPA,休眠键
【发布时间】:2012-12-03 09:11:15
【问题描述】:

如何绘制地图?

我有这个:

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

作为地图键,我想要旅行 id..

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

我该怎么做?

类似

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

【问题讨论】:

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


    【解决方案1】:

    如果行程 ID 是 Trip 的属性(例如 tripId),那么您需要以下内容:

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

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

    【讨论】:

      【解决方案2】:

      类似这样的:

      @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>();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多