wsappid 命令

Java™ Persistence API (JPA) 规范支持由多个列组成实体主键。在此情况下,主键称为“组合主键”或“复合主键”。提供一个 ID 类,该类由 @IdClass 注释指定,用于管理组合主键。用 JPA 的标识工具为使用组合主键的实体生成标识类。

语法

在运行此命令之前,您必须在类路径中具有 persistence.xml 文件的副本,或者在 -p [path_to_persistence.xml] 自变量中将其指定为属性文件。请从 profile_root 目录的 bin 子目录中发出该命令。

命令语法如下所示:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsappid.sh [parameters][arguments]
[IBM i]
wsappid [parameters][arguments]
[Windows]
wsappid.bat [parameters][arguments]

参数

wsappid 工具接受由配置框架定义的标准命令行自变量集以及以下选项:
  • -directory/-d <output_directory>:输出目录的路径。

    如果该目录与生成的输出标识类包不匹配,那么将在该目录下创建包结构。如果未指定此参数,那么 wsappid 工具将为支持持久性的类查找 .java 文件的目录。如果找不到 .java 文件,那么 wsappid 工具将使用当前目录。

  • -ignoreErrors/-i <true/t | false/f>:如果此参数设置为 false,那么当工具在不使用应用程序身份的任何类上运行时,将发生异常。如果任何类在继承层次结构中没有基类,那么也将发生错误。
  • -token/-t <token>:该标记用于将字符串化主键的值以对象标识的字符串格式隔开。

    仅当具有多个主键字段时才使用此选项。缺省值为“::”。

  • -name/-n <id_class_name>:要生成的身份类的名称。

    如果指定了此选项,那么必须仅对一个类运行 wsappid 工具。如果类元数据已指定对象的标识类,那么将忽略此选项。如果名称不是标准名称,那么将在该名称后面添加持久性类的包名以构成标准名称。

  • suffix <id_class_suffix>:一个字符串,用作每个持久类名的后缀以构成身份类名。

    此选项会被 -name/-n 参数或在元数据中指定的任何对象标识类覆盖。

wsappid 工具的各个附加自变量均必须是下列其中一项:
  • 持久类的完整名称。
  • 持久类的 .java 名称。
  • 持久类的 .class 文件。

用法

将该标识工具与用于应用程序服务器的 JPA 配合使用,就可以简化对使用组合标识的实体创建标识类这一任务。组合标识指的是一个以多个字段作为其主键的身份。实体类必须进行编译,而主键必须在该实体类中进行标识。在 profile_root/bin/ 目录中从命令行运行 wsappid 工具。运行此命令时,将生成一个表示该实体的组合标识的新类。消息和错误会被记录至指定的控制台中。

示例

请考虑以下实体:
@Entity 
public class Employee { 

@Id 
private int division;  

@Id private int id;  
// . . . 
}
使用该实体之前,需要一个标识类。对于此示例,假定在 src/main/java 目录中找到了该实体。

要为 Magazine 实体生成标识类,请运行以下命令:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsappid.sh -s Id src/main/java/Employee.java -d src/main/java
[IBM i]
wsappid -s Id src/main/java/Employee.java -d src/main/java
[Windows]
wsappid.bat -s Id src\main\java\Employee.java -d src\main\java
将在 src/main/java 目录中生成一个新类 EmployeeId.java。

附加信息

请阅读《Apache OpenJPA 用户指南》中的“持久性类中的应用程序身份工具”信息以获取更多信息。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsappid
文件名:rejb_wsappid.html