@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "increment")
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Id
@GeneratedValue(strategy=GenerationType.identity)
以上都试过,不行
30 个解决方案
#1
pirvate Long id;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId(){
return this.id;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId(){
return this.id;
}
#2
你的方式我试过不行
我的主键是varchar 类型的 那应该用什么方式呢
#3
r p
#4
不清楚 varchar 能用uuid 么
#5
varchar怎么自增?
#6
需要在主键上增加一个@Id标识
view plaincopy to clipboardprint?
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 类型的枚举值,它的内容将指定 OpenJPA 容器自动生成实体标识的方式。有 GeneratorType.AUTO,GenerationType.IDENTITY,GenerationType.SEQUENCE, GenerationType.TABLE 四种方式
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根据你采取的底层数据库来选择,比如是用oracle,id用sequence的话,可以采取sequence方式,如果是用mysql,一般就用auto模式
// 默认相当于native ID生成策略,JPA 1.0 中只有4个可选值
// 如果只写@Id ,主键字段不会自动产生,需要我们手动输入
// @GeneratedValue 默认为策略产生ID
// 如果我要让ID为IDENTITY 则需要手动给他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
这样选择了主键生成策略,在给实体赋值时就不用设置ID值了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shendaiming/archive/2010/03/09/5359536.aspx
view plaincopy to clipboardprint?
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 类型的枚举值,它的内容将指定 OpenJPA 容器自动生成实体标识的方式。有 GeneratorType.AUTO,GenerationType.IDENTITY,GenerationType.SEQUENCE, GenerationType.TABLE 四种方式
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根据你采取的底层数据库来选择,比如是用oracle,id用sequence的话,可以采取sequence方式,如果是用mysql,一般就用auto模式
// 默认相当于native ID生成策略,JPA 1.0 中只有4个可选值
// 如果只写@Id ,主键字段不会自动产生,需要我们手动输入
// @GeneratedValue 默认为策略产生ID
// 如果我要让ID为IDENTITY 则需要手动给他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
这样选择了主键生成策略,在给实体赋值时就不用设置ID值了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shendaiming/archive/2010/03/09/5359536.aspx
#7
varchar的用uuid.hex自增的
#8
不好意思,搞错了。
identity、native可以自增,针对的是Integer型的
varchar可以考虑uuid
#9
以前有hbm.xml的时候用的 uuid.hex
现在用注解,应该用什么方式呢
<hibernate-mapping>
<class name="com.mingoe.hibernate.admin.Authorization" table="authorization">
<id name="authorizeId" type="string" column="AuthorizeId">
<generator class="uuid.hex" />
</id>
<property name="functionId" type="string">
<column name="FunctionId" not-null="true"/>
</property>
<property name="managerId" type="string">
<column name="ManagerId" not-null="true"/>
</property>
</class>
</hibernate-mapping>
现在用注解,应该用什么方式呢
#10
@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "uuid.hex")
private String userId;
@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "uuid")
private String userId;
都不行
#11
神啊 有人用过没?
#12
注解没用过。。。
#13
@Id
@GeneratedValue(generator = "system-uuid")[该属性名自定义]
@GenericGenerator(name = " system-uuid ", strategy = "uuid")
[name可自定义,但是strategy属性必须是Hibernate中有效的主键策略]
@Column (name = "user_id")
@GeneratedValue(generator = "system-uuid")[该属性名自定义]
@GenericGenerator(name = " system-uuid ", strategy = "uuid")
[name可自定义,但是strategy属性必须是Hibernate中有效的主键策略]
@Column (name = "user_id")
#14
JavaCode:
1. @GeneratedValue(generator = "system-uuid")
2. @GenericGenerator(name = "system-uuid", strategy = "uuid")
XML:
1. <id name="yourId" type="java.lang.String">
2. <column name="YOUR_ID" length="50" />
3. <generator class="uuid.hex" />
4. </id>
#15
UUID
#16
UUID
#17
@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "uuid")
@Column (name = "resourceId")
private String resourceId;
我这么试了 还是不行 主键不能自动生成 保存是主键为空 报空指针错误
#18
还有人吗?
#19
谁还了解一些啊
#20
报空指针可能是配置错误,你在好好检查下,用uuid没错。
#21
配置无误 保存对象时 别的字段都有值 就主键是空的
#22
@Id
@SequenceGenerator(name = "SEQ_AM_LOGISTICS_BILL", sequenceName = "SEQ_AM_LOGISTICS_BILL", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_AM_LOGISTICS_BILL")
@Column(name = "LOGISTICS_BILL_ID")
@SequenceGenerator(name = "SEQ_AM_LOGISTICS_BILL", sequenceName = "SEQ_AM_LOGISTICS_BILL", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_AM_LOGISTICS_BILL")
@Column(name = "LOGISTICS_BILL_ID")
#23
varchar怎么自增?
只能用自己定义的TableCustomerizeID了,需要实现一个Hibernate中的接口类
只能用自己定义的TableCustomerizeID了,需要实现一个Hibernate中的接口类
#24
我写错了 不是主键自增 是主键自动生成
#25
@GenericGenerator(name = "generator", strategy = "uuid.hex")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "id", unique = true, nullable = false, length = 32)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Id
@GeneratedValue(generator = "generator")
@Column(name = "id", unique = true, nullable = false, length = 32)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
#26
@GenericGenerator(name = "generator", strategy = "uuid.hex")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "resourceId", unique = true, nullable = false, length = 32)
这个东西要写在 get set 前面,我试了不对
我按下面的方式写也不对
还有高人不?
@Id
@GeneratedValue(generator = "generator")
@Column(name = "resourceId", unique = true, nullable = false, length = 32)
这个东西要写在 get set 前面,我试了不对
我按下面的方式写也不对
@GenericGenerator(name = "generator", strategy = "uuid.hex")
@Id
private String resourceId;
@GeneratedValue(generator = "generator")
@Column(name = "resourceId", unique = true, nullable = false, length = 32)
public String getResourceId() {
return this.resourceId;
}
public void setResourceId(String resourceId) {
this.resourceId = resourceId;
}
还有高人不?
#27
问题已解决
由于我的实体类把主键单拿出来了,有个主键类
我把主键成策略写在实体类中了,所以不行
由于我的实体类把主键单拿出来了,有个主键类
我把主键成策略写在实体类中了,所以不行
#28
uuid的主键可以自增长
写好id的annotation之后
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
还要在hibernate.cfg.xml中配置 "hbm2ddl.auto"指定为update
调试,搞定
ps:帖子虽然是去年的了,回复是为了后来人,咳咳...
写好id的annotation之后
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
还要在hibernate.cfg.xml中配置 "hbm2ddl.auto"指定为update
调试,搞定
ps:帖子虽然是去年的了,回复是为了后来人,咳咳...
#29
确实很高兴,今天可以看到28楼的回答
#30
刚学spring mvc 学习了
#1
pirvate Long id;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId(){
return this.id;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId(){
return this.id;
}
#2
你的方式我试过不行
我的主键是varchar 类型的 那应该用什么方式呢
#3
r p
#4
不清楚 varchar 能用uuid 么
#5
varchar怎么自增?
#6
需要在主键上增加一个@Id标识
view plaincopy to clipboardprint?
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 类型的枚举值,它的内容将指定 OpenJPA 容器自动生成实体标识的方式。有 GeneratorType.AUTO,GenerationType.IDENTITY,GenerationType.SEQUENCE, GenerationType.TABLE 四种方式
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根据你采取的底层数据库来选择,比如是用oracle,id用sequence的话,可以采取sequence方式,如果是用mysql,一般就用auto模式
// 默认相当于native ID生成策略,JPA 1.0 中只有4个可选值
// 如果只写@Id ,主键字段不会自动产生,需要我们手动输入
// @GeneratedValue 默认为策略产生ID
// 如果我要让ID为IDENTITY 则需要手动给他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
这样选择了主键生成策略,在给实体赋值时就不用设置ID值了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shendaiming/archive/2010/03/09/5359536.aspx
view plaincopy to clipboardprint?
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 类型的枚举值,它的内容将指定 OpenJPA 容器自动生成实体标识的方式。有 GeneratorType.AUTO,GenerationType.IDENTITY,GenerationType.SEQUENCE, GenerationType.TABLE 四种方式
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根据你采取的底层数据库来选择,比如是用oracle,id用sequence的话,可以采取sequence方式,如果是用mysql,一般就用auto模式
// 默认相当于native ID生成策略,JPA 1.0 中只有4个可选值
// 如果只写@Id ,主键字段不会自动产生,需要我们手动输入
// @GeneratedValue 默认为策略产生ID
// 如果我要让ID为IDENTITY 则需要手动给他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
这样选择了主键生成策略,在给实体赋值时就不用设置ID值了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shendaiming/archive/2010/03/09/5359536.aspx
#7
varchar的用uuid.hex自增的
#8
不好意思,搞错了。
identity、native可以自增,针对的是Integer型的
varchar可以考虑uuid
#9
以前有hbm.xml的时候用的 uuid.hex
现在用注解,应该用什么方式呢
<hibernate-mapping>
<class name="com.mingoe.hibernate.admin.Authorization" table="authorization">
<id name="authorizeId" type="string" column="AuthorizeId">
<generator class="uuid.hex" />
</id>
<property name="functionId" type="string">
<column name="FunctionId" not-null="true"/>
</property>
<property name="managerId" type="string">
<column name="ManagerId" not-null="true"/>
</property>
</class>
</hibernate-mapping>
现在用注解,应该用什么方式呢
#10
@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "uuid.hex")
private String userId;
@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "uuid")
private String userId;
都不行
#11
神啊 有人用过没?
#12
注解没用过。。。
#13
@Id
@GeneratedValue(generator = "system-uuid")[该属性名自定义]
@GenericGenerator(name = " system-uuid ", strategy = "uuid")
[name可自定义,但是strategy属性必须是Hibernate中有效的主键策略]
@Column (name = "user_id")
@GeneratedValue(generator = "system-uuid")[该属性名自定义]
@GenericGenerator(name = " system-uuid ", strategy = "uuid")
[name可自定义,但是strategy属性必须是Hibernate中有效的主键策略]
@Column (name = "user_id")
#14
JavaCode:
1. @GeneratedValue(generator = "system-uuid")
2. @GenericGenerator(name = "system-uuid", strategy = "uuid")
XML:
1. <id name="yourId" type="java.lang.String">
2. <column name="YOUR_ID" length="50" />
3. <generator class="uuid.hex" />
4. </id>
#15
UUID
#16
UUID
#17
@Id
@GeneratedValue(generator = "persistenceGenerator")
@GenericGenerator(name = "persistenceGenerator", strategy = "uuid")
@Column (name = "resourceId")
private String resourceId;
我这么试了 还是不行 主键不能自动生成 保存是主键为空 报空指针错误
#18
还有人吗?
#19
谁还了解一些啊
#20
报空指针可能是配置错误,你在好好检查下,用uuid没错。
#21
配置无误 保存对象时 别的字段都有值 就主键是空的
#22
@Id
@SequenceGenerator(name = "SEQ_AM_LOGISTICS_BILL", sequenceName = "SEQ_AM_LOGISTICS_BILL", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_AM_LOGISTICS_BILL")
@Column(name = "LOGISTICS_BILL_ID")
@SequenceGenerator(name = "SEQ_AM_LOGISTICS_BILL", sequenceName = "SEQ_AM_LOGISTICS_BILL", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_AM_LOGISTICS_BILL")
@Column(name = "LOGISTICS_BILL_ID")
#23
varchar怎么自增?
只能用自己定义的TableCustomerizeID了,需要实现一个Hibernate中的接口类
只能用自己定义的TableCustomerizeID了,需要实现一个Hibernate中的接口类
#24
我写错了 不是主键自增 是主键自动生成
#25
@GenericGenerator(name = "generator", strategy = "uuid.hex")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "id", unique = true, nullable = false, length = 32)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Id
@GeneratedValue(generator = "generator")
@Column(name = "id", unique = true, nullable = false, length = 32)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
#26
@GenericGenerator(name = "generator", strategy = "uuid.hex")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "resourceId", unique = true, nullable = false, length = 32)
这个东西要写在 get set 前面,我试了不对
我按下面的方式写也不对
还有高人不?
@Id
@GeneratedValue(generator = "generator")
@Column(name = "resourceId", unique = true, nullable = false, length = 32)
这个东西要写在 get set 前面,我试了不对
我按下面的方式写也不对
@GenericGenerator(name = "generator", strategy = "uuid.hex")
@Id
private String resourceId;
@GeneratedValue(generator = "generator")
@Column(name = "resourceId", unique = true, nullable = false, length = 32)
public String getResourceId() {
return this.resourceId;
}
public void setResourceId(String resourceId) {
this.resourceId = resourceId;
}
还有高人不?
#27
问题已解决
由于我的实体类把主键单拿出来了,有个主键类
我把主键成策略写在实体类中了,所以不行
由于我的实体类把主键单拿出来了,有个主键类
我把主键成策略写在实体类中了,所以不行
#28
uuid的主键可以自增长
写好id的annotation之后
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
还要在hibernate.cfg.xml中配置 "hbm2ddl.auto"指定为update
调试,搞定
ps:帖子虽然是去年的了,回复是为了后来人,咳咳...
写好id的annotation之后
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
还要在hibernate.cfg.xml中配置 "hbm2ddl.auto"指定为update
调试,搞定
ps:帖子虽然是去年的了,回复是为了后来人,咳咳...
#29
确实很高兴,今天可以看到28楼的回答
#30
刚学spring mvc 学习了