我正在实现一个项目,我必须在其中创建多重映射表。
@Entity
public class UserBuilding {
@Id @GeneratedValue
private int userBuildingId;
@OneToOne
private User user;
private HashMap<Building,ArrayList<Horizontal>> userWork;
}
这是我的实体类,我想为此创建表。 用户和建筑物和水平线也是实体。
private HashMap<Building,ArrayList<Horizontal>> userWork;
一个建筑可以有多个水平线。
我很困惑我应该写什么注释来创建上述关系。
答案 0 :(得分:0)
我不相信你可以直接完成收藏地图。至少没有创建自己的自定义hibernate用户类型。
根据您的型号,您可能需要考虑直接将您的水平线集合与Building
实体相关联,并在Building
而不是地图中放置一组UserBuilding
个实体。这可能会给您带来相同的模型优势,减少麻烦。
如果您必须拥有地图,则常见的解决方法是为ArrayList<Horizontal>
创建中间实体,例如HorizontalCollection
。