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

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

上一章我们了解了EJB的生成ID生成策略和基本的save操作.这一章我们研究一下UUID和table策略.

UUID

package com.cnblogs.pojo;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;/** * 定义这是一个entityBean * * @author asus * */@Entity@Table(name = “person1″)Person * 由于EJB3不支持UUID.所以我们需要用hiberante生成.所以我们需要在类路径下面添加一个包.* 这个包在JBOSSHOME\common\lib下的hibernate-annotations.jar.把这个包引入就可以了.*/@Id@GeneratedValue(generator=”uuidgenerator”)@GenericGenerator(name=”uuidgenerator”,strategy=”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) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPasswd() {return passwd;}public void setPasswd(String passwd) {this.passwd = passwd;}}

table映射策略

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

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

package com.cnblogs.pojo;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;import javax.persistence.TableGenerator;/** * 定义这是一个entityBean * * @author asus * */@Entity@Table(name = “person”)Person * Table生成策略:** T_ID_GEN表* ——-* ID_COULMN_NAME NEXT_ID* User_ID3* Person_ID6* 不同的类的ID10* ——-*/@Id@TableGenerator(name=”userGenerator”,//定义Table策略的名称table=”T_ID_GEN”,//定义在Table策略中使用的表名,数据库会自动建表.pkColumnName=”ID_COLUMN_NAME”, //用来区分不同的表的ID的字段名称pkColumnValue=”User_ID”,//用来区分不同的表的ID的值 也就是不同的类要有不同的id_coulmn_namevalueColumnName=”NEXT_ID”,//下一个ID的值所存放的字段的名称allocationSize=1//ID的递增值.如果是1 第一条数据的ID就是1.第2条是2.//如果值为2,第一条数据是1,第2条是3,第3条是5 )@GeneratedValue(strategy=GenerationType.TABLE,generator=”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) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPasswd() {return passwd;}public void setPasswd(String passwd) {this.passwd = passwd;}}

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

posted on

,香港服务器,网站空间,香港服务器要知道,当你一直在担心错过了什么的时候,

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

相关文章:

你感兴趣的文章:

标签云: