Hibernate在数据库中创建冗余列

问题描述 投票:0回答:1

我正在一个房间管理软件中工作,我想在其中了解特定建筑物中的房间。

在建筑物实体中,@OneToMany关系:

   @JsonBackReference(value= "room")
   @OneToMany(targetEntity=Room.class, mappedBy="building", fetch=FetchType.EAGER,cascade = 
              CascadeType.REMOVE,orphanRemoval = true)
   public Set<Room> getRooms() {
       return this.rooms;
}

并且在房间实体中,@ManyToOne关系:

@JsonManagedReference(value= "room")
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="building_number", nullable=false)
@OnDelete(action = OnDeleteAction.CASCADE)
public Building getBuilding() {
    return this.building;
}

由于这些关系,自动生成的数据库会生成一个额外的字段,我只希望将它们映射到Room.building_number:

[building_building_number,我只需要building_number。

java spring hibernate relationship hibernate-mapping
1个回答
0
投票

尝试使用类似的东西:

Building.class:

@OneToMany(mappedBy="building")
private Set<Room> rooms;

// getters and setters

Room.class:

@ManyToOne
@JoinColumn(name="building_number", nullable=false)
private Building building;

// getters and setters
© www.soinside.com 2019 - 2024. All rights reserved.