1
저는 JPA에 익숙합니다. GlassFish 3 및 Eclipse Java EE 웹 개발자가있는 JSF 2 프로젝트에서 사용하고 있습니다. 이러한 내 설정 및 내 데이터베이스에 유지하기 위해 노력하고있어 방법 :JPA가 데이터베이스에 삽입하지 마십시오. 이유가 무엇입니까?
의 persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/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">
<persistence-unit name="SuaParte" transaction-type="RESOURCE_LOCAL">
<class>com.suaparte.pojo.Area</class>
//other entities
<properties>
<property name="eclipselink.jdbc.batch-writing" value="JDBC"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://<hostname>:3306/sua_parte"/>
<property name="javax.persistence.jdbc.user" value=<username>/>
<property name="javax.persistence.jdbc.password" value=<password>/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
</persistence>
내 엔티티 :
@Entity
@Table(name="area")
public class Area implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private byte id;
@Column(nullable=false, length=45)
private String area;
//bi-directional many-to-one association to Company
@OneToMany(mappedBy="areaBean")
private List<Company> companies;
//getters and setters
}
어떻게 내가 전화 했어 내 EntityManager를 사용하여 객체를 유지하려고 시도하십시오.
public static void main(String[] args) {
// TODO Auto-generated method stub
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("SuaParte");
EntityManager entityManager = entityManagerFactory.createEntityManager();
Area area = new Area();
area.setArea("test");
entityManager.persist(area);
}
하지만 아무 것도 실행하지 않으면 내 데이터베이스에서 JPA는 내 테이블에 개체를 유지하지 않습니다, 내가 뭘 잘못하고있어? 아이디어가 있으십니까?
감사합니다. dude =), 결국 작동합니다. –
JSF로 구현하기를 마침내 EJB에서 처리하면 컨테이너가 트랜잭션을 처리합니다. – BalusC