EJB之JPA(数据源配置)
EJB3.0规范制定的时候,hibernate创始人主要负责JPA这块.所以EJB3的JPA与Hibernate基本上是差不多的.可以把JPA看成是hibernate的一个子集.
现在就看一下JPA的数据源配置.
JPA数据源配置:
进入JBOSSHOME(JOBSS安装目录)\docs\examples\jca里面.可以看到很多的xml文件.选择对应的数据库XML.本次使用的是oracle数据库,所以拷贝oracle-ds.xml文件
到JBOSSHOME\\server\default\deploy目录下.然后修改oracle-ds.xml.
<?xml version="1.0" encoding="UTF-8"?> <!-- ===================================================================== --> <!-- --> <!-- JBoss Server Configuration --> <!-- --> <!-- ===================================================================== --> <!-- See http://www.jboss.org/community/wiki/Multiple1PC for information about local-tx-datasource --> <!-- $Id: oracle-ds.xml 88948 2009-05-15 14:09:08Z jesper.pedersen $ --> <!-- ==================================================================== --> <!-- Datasource config for Oracle originally from Steven Coy --> <!-- ==================================================================== --> <datasources> <local-tx-datasource> <!--指定JNDI的名字(这个在后面要用到),还有链接地址--> <jndi-name>OracleDS</jndi-name> <connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url> <!--主要修改下面的参数,这个是链接方式,用户名,密码--> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>scott</user-name> <password>tiger</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </local-tx-datasource> </datasources>
这里配置完以后,我们新建一个EJB project.
注:上图的链接名称应该为OracleDS
这个时候我们需要把Oracle的驱动复制到JBOSSHOME\server\default\lib目录下.然后启动JBOSS就可以了.
我们也可以打开上面这个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"> <!-- 这个就是配置的JTA的名称,程序里需要用到,JTA数据源可以配置多个,分布式部署. --> <persistence-unit name="business" transaction-type="JTA"> <!--这个就是刚才配置的数据源. --> <jta-data-source>java:/OracleDS</jta-data-source> <properties> <!-- oracle数据库方言 --> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect" />
<!-- mysql数据库方言 -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> <!-- 显示最终执行的SQL --> <property name="hibernate.show_sql" value="true"/> <!-- 自动创建数据库表 --> <property name="hibernate.hbm2ddl.auto">update</property> <!-- <property name="hibernate.format_sql" value="true"/> --> </properties> </persistence-unit> </persistence>
现在 数据源已经配置好了.下一章将简单的说一小EJB的持久化.