I am using Hibernate as persistence provider and modelling my entities with JPA 2.
Now a question came up and i hope you can help me.
In my application you can
Are you sure you can't use insertable = false, updateable = false
for these @JoinColumn
s?
As far as I understand, you can initialize gameid
once by setting game
property, and after that you don't need to change it since Tile
s and Group
s belong to the same Game
.
You need to do this:
@ManyToOne
@JoinColumns({
@JoinColumn(name="gameid", referencedColumnName = "gameid", insertable = false, updatable = false ),
@JoinColumn(name="groupTag", referencedColumnName = "grouptag", insertable = false, updatable = false)
})
private Group group;
EDIT: as mentioned in the comments, @JoinColumn
is a repeatable annotation (since Java 8) that doesn't need wrapping. This simplifies the solution to:
@ManyToOne
@JoinColumn(name="gameid", referencedColumnName = "gameid", insertable = false, updatable = false ),
@JoinColumn(name="groupTag", referencedColumnName = "grouptag", insertable = false, updatable = false)
private Group group;