您的位置:首页 > 其它

(6) ebj学习:ejb使用jpa注解

2016-07-13 22:10 357 查看
一  EJB服务端

1 整体结构



2 代码

PersonManager.java

public interface PersonManager {
public void addPerson(String name);
}


PersonManagerBean.java

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
@Remote
public class PersonManagerBean implements PersonManager {

@PersistenceContext(unitName = "test") // 注意 与 persistence.xml中persistence-unit的name相同
private EntityManager em;

public void addPerson(String name) {
Person p = new Person();
p.setId(10);
p.setName("张三");
em.persist(p);
}

}


Person.java实体
@Entity 表示为一个实体

@Table表示该实体映射到数据库中表的名字

@Id主键

@Transient 数据库忽略该属性

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name="t_person")
public class Person implements Serializable{

private static final long serialVersionUID = -6384496304647032095L;

@Id
private int id;

@Transient
private String address;

private String name;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}


persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd" version="1.0">

<persistence-unit name="test" transaction-type="JTA">
<jta-data-source>java:/MySqlDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>

</persistence>


二 客户端

1 整体结构



2 代码

jndi.properties 文件, client 文件夹,ejbServer文件夹 参考前面博客

EjbClient.java

import javax.naming.InitialContext;
import javax.naming.NamingException;

import ebj.learning.PersonManager;

public class EjbClient {

public static void main(String[] args) throws NamingException {
InitialContext context = new InitialContext();
PersonManager ejb = (PersonManager)context.lookup("PersonManagerBean/remote");
ejb.addPerson("张三");

}

}


运行main方法进行测试

三 结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: