jboss4.2 webogic9.0 下,ejb2.0 实体bean主键的配置

来源:互联网 发布:怎么学习plc编程 编辑:程序博客网 时间:2024/04/28 01:36
 
 
JBuilder+Weblogic9.0实体Bean主键设置
 基于Oracle数据库的配置
 
1 打开 EJB Module
2 右击需要设定主键的实体Bean
3 点击 Open DD Editor
4 选择Weblogic Persistence标签
5 将Automatic primary key generation框中的 Enable选项选上
6 选择Generator type后面的 NamedSequenceTable
7 在Table Name后面输入存放Sequence信息的表名(MySequenceTable)
 MySequenceTable的创建:
     在数据库中建立表 create table MySequenceTable (SEQUENCE number);
8 在Key cache size后面输入一个序列的开始值(1)
9 关闭EJB Module设计器
10 打开weblogic-cmp-rdbms-jar.xml
11 找到如下代码,将红色标记的字符,改成SequenceTable
    <automatic-key-generation>
      <generator-type>NamedSequenceTable</generator-type>
      <generator-name>MySequenceTable</generator-name>
      <key-cache-size>1</key-cache-size>
</automatic-key-generation>
12 保存配置,编译打包发布
  
   基于SQL Server数据库的配置
1 重复Oracle数据库配置的1到5步
2 选择 Generator type 后面的SQL Server 或 SQLServer2000
3 关闭EJB Module设计器
4 打开weblogic-cmp-rdbms-jar.xml
5 找到如下代码,将红色代码改成 Identity
    <automatic-key-generation>
      <generator-type>SQLServer2000</generator-type>
      <key-cache-size>3</key-cache-size>
</automatic-key-generation>
6 保存配置,编译打包发布
 
注意:对应数据库表的主键,必须是数值型的字段
 
 
 
 
 
 
 
JBoss配置
 
需要在jbosscmp-jdbc.xml中如下设置

1mysql:(红色部分)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">

<jbosscmp-jdbc>
  <defaults>
    <datasource>java:/MySqlDS</datasource>
    <datasource-mapping>mySQL</datasource-mapping>
  </defaults>
  <enterprise-beans>
    <entity>
      <ejb-name>Student</ejb-name>
      <table-name>student</table-name>
      <cmp-field>
        <field-name>id</field-name>
        <column-name>id</column-name>
      </cmp-field>
      <cmp-field>
        <field-name>name</field-name>
        <column-name>name</column-name>
      </cmp-field>
     
<unknown-pk>
          <unknown-pk-class>java.lang.Integer</unknown-pk-class>
          <field-name>key</field-name>
          <column-name>key</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          <auto-increment/>
      </unknown-pk>

      <entity-command name="mysql-get-generated-keys"/>
    </entity>
  </enterprise-beans>
</jbosscmp-jdbc>

2sql server

            <unknown-pk>
                <unknown-pk-class>java.lang.Integer</unknown-pk-class>
                <field-name>key</field-name>
                <column-name>key</column-name>
                <jdbc-type>INTEGER</jdbc-type>
                <sql-type>INTEGER</sql-type>
                <auto-increment/>
            </unknown-pk>
            <entity-command name="mssql-fetch-key"/>

3
oracle
      <unknown-pk>
          <unknown-pk-class>java.lang.Integer</unknown-pk-class>
          <field-name>id</field-name>
          <column-name>ID</column-name>
          <jdbc-type>integer</jdbc-type>
          <sql-type>integer</sql-type>
          <auto-increment/>
      </unknown-pk>
      <entity-command name="oracle-sequence">
          <attribute name="sequence">seq_noble</attribute>
      </entity-command>
 
原创粉丝点击