Java 错误代码:1048

Java 错误代码:1048,java,mysql,Java,Mysql,RandomID不能为空: 我有一个生成随机数的函数RandomGen。。 ItkTInventory是我使用主样本详细信息表单创建CRUD时创建的DB java文件。。 在执行保存按钮操作时,我想将生成的随机数插入mysql中的数据库 private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) { RandomGen r

RandomID不能为空:

我有一个生成随机数的函数RandomGen。。 ItkTInventory是我使用主样本详细信息表单创建CRUD时创建的DB java文件。。 在执行保存按钮操作时,我想将生成的随机数插入mysql中的数据库

private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
    RandomGen rand = new RandomGen();
    ItkTInventory inventory = new ItkTInventory();
    inventory.setSRandomID(rand.randomCode());
    try {
        entityManager.getTransaction().commit();
        entityManager.getTransaction().begin();
    } catch (RollbackException rex) {
        rex.printStackTrace();
        entityManager.getTransaction().begin();
        List<barcode.ItkTInventory> merged = new ArrayList<barcode.ItkTInventory>(list.size());
        for (barcode.ItkTInventory i : list) {
            merged.add(entityManager.merge(i));
        }
        list.clear();
        list.addAll(merged);
    }
}                        
private void saveButtonActionPerformed(java.awt.event.ActionEvent evt){
RandomGen rand=新的RandomGen();
ItkTInventory inventory=新的ItkTInventory();
inventory.setRandomId(rand.randomCode());
试一试{
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
}捕获(回滚异常rex){
printStackTrace();
entityManager.getTransaction().begin();
List merged=newarraylist(List.size());
用于(barcode.itkti库存:列表){
merged.add(entityManager.merge(i));
}
list.clear();
list.addAll(合并);
}
}                        

发生此错误是因为您试图将空值插入非空字段。调试您的程序并确保RandomID值不为null

在这里,您试图将声明为非null的null值放入数据库中


解决方案:
删除数据库中的NOTNULL或不带null值保存

错误是不言自明的“RandomID不能为null”。我这样做了。。但我的主要问题是,数据库中没有插入随机数。。inventory.setRandomId(rand.randomCode());这应该调用set函数并正确插入数据!!我很困惑,你能详细解释一下为什么这是解决办法吗。。但我的主要问题是,数据库中没有插入随机数。。inventory.setRandomId(rand.randomCode());这应该调用set函数并正确插入数据!!我很困惑