How to mark persistence block as default in JPA (hibernate)?

I have read several threads while setting one of the n default persistence units in JPA. But the use of hibernate.default_schema seems to be undefined.

However, I want to achieve the following.

  • Default <persistence-unit name="myMainPU"> ... </persistence-unit>

  • Do you have one or more additional <persistence-unit name="auxilliaryPU"> ... </persistence-unit>

  • I do not want to comment on EntityManagers annuities with name attribute. For example. not the same @Persistence(unitName="myMainPU")

    for the default save unit. It should be just like that @Persistence

  • I want to annotate my auxiliary PUs with the unitName attribute. For example.@Persistence(unitName="auxilliaryPU")

How is this achieved? I am using Hibernate 4+ and can make my own decision as well.



source to share

2 answers

There is no such default option for "default pu".

What you can do is use CDI and decide which PU you will use. I see no other way to do this.



If you're using Spring, try adding this before any other bean:

<bean id="org.springframework.context.annotation.internalPersistenceAnnotationProcessor" class=""
    depends-on="myDefaultEntityManagerFactory, myAuxiliaryEntityManagerFactory, yetAnotherEntityManagerFactory">
    <property name="defaultPersistenceUnitName" value="my-default-PU" />




All Articles