如何像这样长时间休眠生成字符串ID:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Id
private String id
我的意思是,我想获取String值,例如“ 1”,“ 2”,“ 3”等。
答案 0 :(得分:0)
答案 1 :(得分:0)
using(TransactionScope s = new TransactionScope(TransactionScopeOption.Required))
{
var temp = new temp {attr1=value1};
_dbcontext.Temps.add(temp); //<<where the issue comes
_dbcontext.SaveChanges();
s.Complete();
}
不能与String类型一起使用。因此,如果要使用String作为ID,则必须手动分配它。
可能的解决方案是使用自定义ID生成器:
@GeneratedValue(strategy = GenerationType.IDENTITY)
Id Generator类:
@Id
@GenericGenerator(name = "sequence_id", strategy = "com.xyz.IdGenerator")
@GeneratedValue(generator = "sequence_id")
@Column(name="Id")
private String Id;