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

 
 
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 中如下设置

1 mysql:( 红色部分 )
<?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>

2 sql 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>
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值