Jboss下开发ejb应用之一实体bean的应用
程序员文章站
2024-02-22 22:05:16
...
Jboss下开发ejb应用之一实体bean的应用
这是一篇紧接着上一篇《Jboss下开发ejb应用之一会话bean的应用》而写的
实体类应用首先得编写实体类
实体类标注
其中表的标注,ID主键标注 普通字段标注
实体类的持久化有实体管理器管理
@PersistenceContext这个实体管理器的标注别忘记了,这有这样才能表示通过容器的实体管理器进行持久化操作
使用实体bean这里有几点注意的
第一是实体类指定使用那个数据源:
各种数据库的数据源配置模版你可以在$JBOSS_HOME/docs/examples/jca 目录中找到,默认名称为:数据库名+ -ds.xml 。你可以选择一个相应的文件然后修改里面相应的参数,并拷贝到在$JBOSS_HOME/server/all/deploy目录下或者$JBOSS_HOME/server/default/deploy目录下(这里视你启动的模式,如果视在all模式启动的就在all/deploy目录下,如果以default模式启动的就放在default/deploy目录下)
第二是拷贝相应数据库驱动程序包:这里视你的启动模式(all或者default)拷贝到相应的lib目录下($JBOSS_HOME /server\all/lib或者$JBOSS_HOME /server/default/lib目录下)
第三是设置实体bean绑定的数据源:persistence.xml就是实体bean指定数据源的配置文件,一般这个文件放在classes根目录下的META-INF目录中,如果工程没有这个目录,请自己建立这样一个目录(源程序根目录src下META-INF),然后再把这个persistence.xml文件放到这个目录下。
第四点就是persistence.xml中的数据源jndi名称和deploy目录下的数据源文件中的jndi名称一致。以oracle9i为例:
Deploy目录下的数据源文件名为:oracle-ds.xml
Jndi名称配置为:
那么persistence.xml配置文件下的数据源jndi名称也要视这个名称
本人采用jboss的版本是jboss-4.2.2.GA
服务端,客户端工程项目我都发布上来
以供大家参考
server-client-project.rar附件中的cms是实体bean服务端程序 ejbclient是客户端程序
这是一篇紧接着上一篇《Jboss下开发ejb应用之一会话bean的应用》而写的
实体类应用首先得编写实体类
实体类标注
/**
* 用户表
* @author XuGuo
* @since 2010-01-04
*/
@Entity
@Table(name="test_user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="userId")
@GeneratedValue(strategy=GenerationType.AUTO)
//@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="S_test_user")
private Long userId;//用户表主键 这里采用oracle的序列作为主键ID值
@Column(name="userName")
private String userName;//用户姓名
@Column(name="uaerAge")
private int userAge;//用户年龄
@Column(name="userAddress")
private String userAddress;//联系地址
@Temporal(value=TemporalType.DATE)
private Date createdDate;//创建时间
其中表的标注,ID主键标注 普通字段标注
实体类的持久化有实体管理器管理
@PersistenceContext
protected EntityManager entityManager;
/**
* 保存用户
* @param user
*/
public void saveUser(User user){
entityManager.persist(user);
}
@PersistenceContext这个实体管理器的标注别忘记了,这有这样才能表示通过容器的实体管理器进行持久化操作
使用实体bean这里有几点注意的
第一是实体类指定使用那个数据源:
各种数据库的数据源配置模版你可以在$JBOSS_HOME/docs/examples/jca 目录中找到,默认名称为:数据库名+ -ds.xml 。你可以选择一个相应的文件然后修改里面相应的参数,并拷贝到在$JBOSS_HOME/server/all/deploy目录下或者$JBOSS_HOME/server/default/deploy目录下(这里视你启动的模式,如果视在all模式启动的就在all/deploy目录下,如果以default模式启动的就放在default/deploy目录下)
第二是拷贝相应数据库驱动程序包:这里视你的启动模式(all或者default)拷贝到相应的lib目录下($JBOSS_HOME /server\all/lib或者$JBOSS_HOME /server/default/lib目录下)
第三是设置实体bean绑定的数据源:persistence.xml就是实体bean指定数据源的配置文件,一般这个文件放在classes根目录下的META-INF目录中,如果工程没有这个目录,请自己建立这样一个目录(源程序根目录src下META-INF),然后再把这个persistence.xml文件放到这个目录下。
第四点就是persistence.xml中的数据源jndi名称和deploy目录下的数据源文件中的jndi名称一致。以oracle9i为例:
Deploy目录下的数据源文件名为:oracle-ds.xml
Jndi名称配置为:
<datasources>
<local-tx-datasource>
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@serverip:1521:sid</connection-url>
那么persistence.xml配置文件下的数据源jndi名称也要视这个名称
<?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="jbossdb">
<jta-data-source>java:/OracleDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9iDialect"/>
</properties>
</persistence-unit>
</persistence>
本人采用jboss的版本是jboss-4.2.2.GA
服务端,客户端工程项目我都发布上来
以供大家参考
server-client-project.rar附件中的cms是实体bean服务端程序 ejbclient是客户端程序