java.sql.BatchUpdateException:Field 'thirdAssetses_assetsId'
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 11:22:44
java.sql.BatchUpdateException:Field 'thirdAssetses_assetsId' doesn't have a default value
我建了一个合同表,一个账单表,在类中合同表和账单表是一对多单向关系,合同是一的一方,账单时多的一方,有一个外关联表,当插入一条数据的时候一切正常,当插入第二条数据的时候就会报,上面的异常.说我关联表中的对应账单的Id的字段没有设值.
怎么回事?
在合同类中
private Set<Assets> firstAssetses = new HashSet<Assets>();
private Set<Assets> secondAssetses = new HashSet<Assets>();
private Set<Assets> thirdAssetses = new HashSet<Assets>();
\x05@OneToMany
\x05public Set<Assets> getThirdAssetses() {
\x05\x05return thirdAssetses;
\x05}
\x05public void setThirdAssetses(Set<Assets> thirdAssetses) {
\x05\x05this.thirdAssetses = thirdAssetses;
\x05}
\x05@OneToMany
\x05public Set<Assets> getFirstAssetses() {
\x05\x05return firstAssetses;
\x05}
\x05public void setFirstAssetses(Set<Assets> firstAssetses) {
\x05\x05this.firstAssetses = firstAssetses;
\x05}
\x05@OneToMany
\x05public Set<Assets> getSecondAssetses() {
\x05\x05return secondAssetses;
\x05}
\x05public void setSecondAssetses(Set<Assets> secondAssetses) {
\x05\x05this.secondAssetses = secondAssetses;
\x05}
在账单类中没设映射,只有几个字段,
private String assetsId;
private Assurer assurer;
private int sum;
private String quality;
然后就是添加信息了,
contract.setFirstAssetses(assets);.
contractService.addContract(contract);
我建了一个合同表,一个账单表,在类中合同表和账单表是一对多单向关系,合同是一的一方,账单时多的一方,有一个外关联表,当插入一条数据的时候一切正常,当插入第二条数据的时候就会报,上面的异常.说我关联表中的对应账单的Id的字段没有设值.
怎么回事?
在合同类中
private Set<Assets> firstAssetses = new HashSet<Assets>();
private Set<Assets> secondAssetses = new HashSet<Assets>();
private Set<Assets> thirdAssetses = new HashSet<Assets>();
\x05@OneToMany
\x05public Set<Assets> getThirdAssetses() {
\x05\x05return thirdAssetses;
\x05}
\x05public void setThirdAssetses(Set<Assets> thirdAssetses) {
\x05\x05this.thirdAssetses = thirdAssetses;
\x05}
\x05@OneToMany
\x05public Set<Assets> getFirstAssetses() {
\x05\x05return firstAssetses;
\x05}
\x05public void setFirstAssetses(Set<Assets> firstAssetses) {
\x05\x05this.firstAssetses = firstAssetses;
\x05}
\x05@OneToMany
\x05public Set<Assets> getSecondAssetses() {
\x05\x05return secondAssetses;
\x05}
\x05public void setSecondAssetses(Set<Assets> secondAssetses) {
\x05\x05this.secondAssetses = secondAssetses;
\x05}
在账单类中没设映射,只有几个字段,
private String assetsId;
private Assurer assurer;
private int sum;
private String quality;
然后就是添加信息了,
contract.setFirstAssetses(assets);.
contractService.addContract(contract);
能具体的说一下你是怎么来添加的吗?
是事务还是什么?能显示一下代码吗?
再问: 是在事务中添加的不错。。可是怎么会出现这样的错呢?? 我的thirdAssetses明明有值的啊,在添加之前还能输出数据的。。
再答: 嗯,这样看不出来呀
再问: BeanFactory beanFactory = new ClassPathXmlApplicationContext("beans.xml"); ContractService contractService = (ContractService)beanFactory.getBean("contractService"); AssurerService assurerService_1 = (AssurerService)beanFactory.getBean("assurerService"); Assurer fassurer = new Assurer(); fassurer.setUsername("qiaogr136"); Assurer sassurer = new Assurer(); sassurer.setUsername("qiaogr137");
再答: 咽,你自己检查一下看看数据库中的字段类型和你JAVA中的字段类型是否一致呀
是事务还是什么?能显示一下代码吗?
再问: 是在事务中添加的不错。。可是怎么会出现这样的错呢?? 我的thirdAssetses明明有值的啊,在添加之前还能输出数据的。。
再答: 嗯,这样看不出来呀
再问: BeanFactory beanFactory = new ClassPathXmlApplicationContext("beans.xml"); ContractService contractService = (ContractService)beanFactory.getBean("contractService"); AssurerService assurerService_1 = (AssurerService)beanFactory.getBean("assurerService"); Assurer fassurer = new Assurer(); fassurer.setUsername("qiaogr136"); Assurer sassurer = new Assurer(); sassurer.setUsername("qiaogr137");
再答: 咽,你自己检查一下看看数据库中的字段类型和你JAVA中的字段类型是否一致呀
java.sql.BatchUpdateException:Field 'thirdAssetses_assetsId'
java.sql.SQLException:Field 'id' doesn't have a default valu
请问java中的field是什么意思
java 中import java.sql.Connection 报错:The import java.sql.Conn
java.sql.time java.sql.date 二者如何组合成一个java.util.date
java.sql.SQLException:ORA-00917:缺失逗号
java.sql.Date与java.util.Date的区别
java.sql.SQLException:ORA-00918:未明确定义列
java.sql.SQLException:The transaction is no longer active-st
Exception in thread "main" java.sql.SQLException:用尽的 Results
java.sql.SQLException: Parameter index out of range (1 > num
java.sql.SQLException:Operation not allowed after ResultSet