电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

EJB之JPA(UUID与TABLE影射策略)


发布日期:2022/1/20
 
UUID

package blogspojo;import javaioSerializable;import javaxpersistenceColumn;import javaxpersistenceEntity;import javaxpersistenceGeneratedValue;import javaxpersistenceGenerationType;import javaxpersistenceId;import javaxpersistenceTable;import orghibernateannotationsGenericGenerator;/** * 定义这是一个entityBean * * @author asus * */@Entity@Table(name = person)// 映射表名称为personpublic class Person implements Serializable {// 实现可序列化接口方便远程调用

/**

* 由于EJB不支持UUID所以我们需要用hiberante生成所以我们需要在类路径下面添加一个包

* 这个包在JBOSSHOME\common\lib下的hibernateannotationsjar把这个包引入就可以了

*/

@Id

@GeneratedValue(generator=uuidgenerator

@GenericGenerator(name=uuidgeneratorstrategy=uuid

private String id;

@Column(name = username unique = false)

private String name;

@Column(name = password nullable = false)

private String passwd;

public String getId() {

return id;

}

public void setId(String id) {

thisid = id;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public String getPasswd() {

return passwd;

}

public void setPasswd(String passwd) {

thispasswd = passwd;

}}

table映射策略

table策略的好处就是方便数据移植所有的数据库都支持

使用table策略主键必须是int或者Long类型不能是String类型

package blogspojo;import javaioSerializable;import javaxpersistenceColumn;import javaxpersistenceEntity;import javaxpersistenceGeneratedValue;import javaxpersistenceGenerationType;import javaxpersistenceId;import javaxpersistenceTable;import javaxpersistenceTableGenerator;/** * 定义这是一个entityBean * * @author asus * */@Entity@Table(name = person)// 映射表名称为personpublic class Person implements Serializable {// 实现可序列化接口方便远程调用

/**

* Table生成策略

*

* T_ID_GEN表

*

* ID_COULMN_NAME

NEXT_ID

* User_ID

* Person_ID

* 不同的类的ID

*

*/

@Id

@TableGenerator(

name=userGenerator

//定义Table策略的名称

table=T_ID_GEN

//定义在Table策略中使用的表名数据库会自动建表

pkColumnName=ID_COLUMN_NAME

//用来区分不同的表的ID的字段名称

pkColumnValue=/archive////User_ID

//用来区分不同的表的ID的值 也就是不同的类要有不同的id_coulmn_name

valueColumnName=NEXT_ID

//下一个ID的值所存放的字段的名称

allocationSize=

//ID的递增值如果是 第一条数据的ID就是条是

//如果值为第一条数据是条是条是

@GeneratedValue(strategy=GenerationTypeTABLEgenerator=userGenerator

private int id;

@Column(name = username unique = false)

private String name;

@Column(name = password nullable = false)

private String passwd;

public int getId() {

return id;

}

public void setId(int id) {

thisid = id;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public String getPasswd() {

return passwd;

}

public void setPasswd(String passwd) {

thispasswd = passwd;

}}

以上就是关于UUID和TABLE策略下一章是关于属性映射

上一篇:Groovy编程——Mixin的使用

下一篇:动态代理