NutzCN Logo
问答 遇到一个尴尬的问题,客户想使用varchar类型的字段作为自增字段,在nutz中实体类映射怎么实现啊?
发布于 2596天前 作者 yangeejgs 1485 次浏览 复制 上一个帖子 下一个帖子
标签:

如果是别的框架,我可以
varchar 中无法仅用MYSQL的字段定义实现。auto_increment 仅对数字型有效。
你有两种方法。
1. 建两个字段 f1 varchar(5), f2 int auto_increment , 其中 f1 为 'S2002' 通过select 查询可以形成 concat(f1,mid(10000+f2,2)), 或者简单点只需要一个f2 int字段,然后直接 concat('S',2002000+f2)

  1. 利用触发器。

可是nutz这种使用实体类直接建表的有办法解决么?

8 回复
@Table("t_record")
public class Record {

    
    private String RecID;

    @Column
    private String ItemIndex;

    @Column
    private String ItemName;

String RecID; 这个字段想作为自增主键。怎么做?

@wendal 谢谢~!!666,之前文档没看仔细

还想问一下如果单纯的只是想用字符串类型的 1,2,3自增 @Prev() 括号中怎么写呢(这里字符型主键只是为了兼容他们传的参数。。。)

那这个1,2,3的来源是啥?

RecordList=[{"RecID":"1","ItemIndex0":"0

上面那个RecID , 是json格式的参数,
而且还要求这个参数可以自增,所以我觉得在实体类中

    @Prev
    private String RecID;

这样可以解决问题么?

或者如果没人回我我还准备

 @Id
    private Integer id;

    @Name
    private String RecID;

这么干。。然后判断RecID如果没有就在插入数据后把自动生成的id赋值给他。。

好的,刚接触这个框架,用起来确实爽,hhhhhhh

添加回复
请先登陆
回到顶部