0
我正在學校項目上工作,我需要使用JPA。我有一些架構這樣的:如何讓Java JPA創建實體?
Customer.java
@Data
@Entity(name = "CUSTOMER")
public class Customer {
@Id
@Column(name = "CUSTOMER_ID", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private long customerId;
@Column(name = "NAME")
private String name;
@Column(name = "SURNAME")
private String surname;
@Column(name = "STREET")
private String street;
@Column(name = "CITY")
private String city;
@Column(name = "ZIP_CODE")
private String zipCode;
@Column(name = "COUNTRY")
private String country;
@OneToMany(mappedBy="customer",targetEntity=Order.class, fetch= FetchType.EAGER)
private Collection orders;
}
而且Order.java
@Data
@Entity(name = "ORDER")
public class Order {
@Id
@Column(name = "ORDER_ID", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private long orderId;
@Column(name = "CUSTOMER_ID")
@ManyToOne(optional=false)
@JoinColumn(name="CUSTOMER_ID",referencedColumnName="CUSTOMER_ID")
private long customerId;
@Column(name = "DATE_SHIPPED")
private Boolean dateShipped;
@Column(name = "ORDER_DATE")
private Date orderDate;
@Column(name = "STATUS")
private Date status;
}
現在,我已經定義persistance.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="todos" transaction-type="RESOURCE_LOCAL">
<class>b.model.Customer</class>
<class>b.model.Order</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="javax.persistence.jdbc.url"
value="jdbc:derby://localhost:1527/baza;create=true" />
</properties>
</persistence-unit>
</persistence>
現在我被困在那個地方,我不知道如何初始化EntityManager
來實際讀取我的persistance.xml
以連接到我的數據庫,並創建給定的實體。我已經試過如下:
private static EntityManagerFactory factory;
public static void main(String[] args) {
factory = Persistence.createEntityManagerFactory(....);
EntityManager em = factory.createEntityManager();
}
但說實話,我真的不知道應該怎樣進入createEntityManagerFactor()
方法的構造。
任何幫助都比歡迎!
已在屬性一看:'javax.persistence.schema-generation.database.action' – sanastasiadis
您怎麼總結看任何JPA教程,清楚地顯示在那裏的持久性單元名稱? –