2016-10-12 6 views
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を初期化してデータベースに接続し、与えられたエンティティを作成する方法がわからない場所で立ち往生しています。

private static EntityManagerFactory factory; 

public static void main(String[] args) { 
    factory = Persistence.createEntityManagerFactory(....); 
    EntityManager em = factory.createEntityManager(); 
} 

しかし、正直に言うと、私は本当にcreateEntityManagerFactor()方法のコンストラクタに行くべきかわからない:私は、次の試してみました。

どのようなヘルプも歓迎です!

+0

は、プロパティで見てください: 'javax.persistence.schema-generation.database.action' – sanastasiadis

+0

そして、あなたが何JPAのチュートリアルを見て、そこに永続性ユニットの名前がはっきりと表示されていると結論づけてください。 –

答えて

1

あなたがEntityManagerFactoryを作成しているとして何が必要なのpersistance-unit名を指定します

factory = Persistence.createEntityManagerFactory("todos"); 
EntityManager em = factory.createEntityManager(); 
関連する問題