Hibernate Automatische Schema erstellung

denis7788

Bekanntes Mitglied
Hallo,

wie kann ich denn automatisch Schemata erstellen lassen. In meiner persistance.xml habe ich die property hibernate.hbm2ddl.auto auf create gesetzt. Trotzdem wird mir beim Ausführen der Fehler angezeigt, dass die Datenbanktabellen fehlen.
Was muss ich denn noch ergänzen, damit es funktioniert?

persistance.xml:
XML:
<?xmlversion="1.0"encoding="UTF-8"?>

<persistenceversion="2.1"xmlns="http://xmlns.jcp.org/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

<persistence-unitname="CustomerManagementEJB">

<jta-data-source>jdbc/customers</jta-data-source>


<properties>

<propertyname="hibernate.hbm2ddl.auto"value="create"/>

<propertyname="hibernate.show_sql"value="true"/>

</properties>


</persistence-unit>

</persistence>

Customer.java (getter und setter habe ich weggelassen)
Java:
@Entity
@JsonIgnoreProperties(ignoreUnknown = true)
public class Customer {
   
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String firstName;
    private String lastName;
   
    @OneToMany(cascade=CascadeType.ALL, fetch= FetchType.EAGER, orphanRemoval=true)
    private List<Address> addresses;

}

Address.java
Java:
@Entity
@JsonIgnoreProperties(ignoreUnknown = true)
public class Address {
   
   
    private int id;
    private String street;
    private String number;
    private String zip;
    private String city;
    private String country;
   

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public int getId() {
        return id;
    }
    
}
 

thecain

Top Contributor
Dir fehlt auf jeden Fall das mapping in der persistence.xml

Code:
<!-- Persistence classes -->
<mapping class="dein.package.name.Customer"/>
<mapping class="dein.package.name.Address"/>
 

denis7788

Bekanntes Mitglied
Danke für die Antwort!
So weit ich weiß, brauche ich kein explizites Mapping in der persistance.xml wen ich für JPA die Option "Discover annotated classes automatically" angebe. Damit müsste das Mapping ja intern stattfinden, oder ist das falsch?
 

Ähnliche Java Themen


Oben