NutzCN Logo
问答 @ID @Name 生成的表
发布于 2828天前 作者 nidegexing 2694 次浏览 复制 上一个帖子 下一个帖子
标签:

通过Daos.createTablesInPackage(dao, "net.wendal.nutzbook", false);建表User
User.java中同时使用了@id,@name,查看生成的Mysql表,只有id标识了主键,那么不是主键。
在MainSetUp中init写了每次启动创建用户。实际执行不能成功,说是名字重复了,请问怎么回事。我把User中的@name去掉了也不行。
这个是log报错:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'admin' for key 'name'

MainSetup,insert用户

if (dao.count(User.class) != 0) {
            User user = new User();
            user.setName("admin");
            user.setPassword("123456");
            user.setCreateTime(new Date());
            user.setUpdateTime(new Date());
            dao.insert(user);
        }

User.java

@Id
    private int id;
    @Column
    private String name;
    @Column("passwd")
    private String password;
    @Column
    private String salt;
    @Column("ct")
    private Date createTime;
    @Column("ut")
    private Date updateTime;
2 回复

if判断反了

if (dao.count(User.class) == 0) {

@Name 会加唯一性索引

我是想测试id的自增,所以让每次启动都insert的。原来@Name会加唯一索引呐,多谢了,看文档没仔细。

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