Reputation: 4654
Consider the following annotations :
public class Estate {
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "estates_owners")
@MapKeyJoinColumn(name="owner_id")
public Map<Owner, Share> getOwnerSharesMap() {
return ownerSharesMap;
}
}
Hibernate creates a table estates_owners
with following column names:
estate_id | ownersharesmap_id | owner_id
How can I customize the column named ownersharesmap_id
? I want to rename it to share_id
.
Upvotes: 0
Views: 383
Reputation: 4154
Specify a inverseJoinColumns
in your @JoinTable
annotation.
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "estates_owners",
inverseJoinColumns=@JoinColumn(name="share_id"))
@MapKeyJoinColumn(name="owner_id")
public Map<Owner, Share> getOwnerSharesMap() {
return ownerSharesMap;
}
Upvotes: 2