[hibernate-dev] Naming strategies and join tables

Guillaume Smet guillaume.smet at gmail.com
Mon Feb 22 07:34:09 EST 2016


Important point: AbstractProjet uses SINGLE_TABLE inheritance.

On Mon, Feb 22, 2016 at 12:10 PM, Guillaume Smet <guillaume.smet at gmail.com>
wrote:

> Hi,
>
> I'm migrating another application to 5.x and have the following issue with
> the new naming strategies.
>
> We used EJB3NamingStrategy and are now using
> ImplicitNamingStrategy*Legacy*JpaImpl which is advertised as being its
> replacement.
>
> The model is the following:
> @Entity
> AbstractProjet
>        > @Entity
>           @DiscriminatorValue(value = "ProjetDiffusion")
>            public class ProjetDiffusion extends AbstractProjet {
>                  @ElementCollection
>                  @Enumerated(EnumType.STRING)
>                  @JoinTable(uniqueConstraints = {
> @UniqueConstraint(columnNames = { "projetdiffusion_id", "technologies" }) })
>                  private List<ProjetTechnologie> technologies =
> Lists.newArrayList();
>
> Before the upgrade to 5, the join table was called
> projetdiffusion_technologies and the column was projetdiffusion_id.
>
> After the upgrade to 5, the join table is called
> abstractprojet_technologies and the column abstractprojet_id. Thus, we have
> an error on the creation of the unique constraint.
>
> Is this change expected?
>
> --
> Guillaume
>


More information about the hibernate-dev mailing list