在插入记录数据库过程中,我正在与以下问题作斗争。
2018-08-12 16:06:26.874警告5482---[nio-8080-exec-2]O.H.Engine.jdbc.spi.sqlexceptionHelper:SQL错误:1364,SQLState:HY000 2018-08-12 16:06:26.875错误5482--[nio-8080-exec-2]O.H.Engine.jdbc.spi.sqlexceptionHelper:字段“country_id”没有默认值查询是:插入bi_person(additional_info,gender_id,last_name,name)值(?,?,?,?),参数['Java嵌套异常为org.springframework.orm.jpa.jpasystemexception:无法执行语句;html" target="_blank">嵌套异常为org.hibernate.exception.GenericJDBCException:could not execute statement](根本原因
查询异常:字段“country_id”没有默认值查询为:insert INTERBI_PERSON(additional_info,gender_id,last_name,name)值(?,?,?,?),参数['Java Master',48,'ww','john']*
//Coutry:
@Table(name = "bi_country")
@Entity
public class Country {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_country")
private Integer id;
@Column(name = "name")
private String name;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name="country_book", joinColumns=@JoinColumn(name="id_country"), inverseJoinColumns=@JoinColumn(name="id_person"))
private Set<Person> persons;
//性别:
@Table(name = "bi_gender")
@Entity
public class Gender {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_gender")
private Integer id;
@Column(name = "name")
private String name;
//人
@Table(name = "bi_person")
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_person")
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "last_name")
private String lastName;
@Column(name = "additional_info")
private String additionalInfo;
@ManyToOne
private Gender gender;
@ManyToMany(cascade=CascadeType.ALL)
private Set<Country> countries;
您只需仔细阅读错误消息即可。上面写着:
字段“country_id”没有默认值查询为:insert into bi_person(additional_info,gender_id,last_name,name)...
因此,您的bi_person表有一个名为country_id
的字段,它没有任何默认值。当然,Hibernate不会在该字段中插入任何内容,因为它在实体Person中没有任何这样的字段。所以你得到了这个例外。
我正在尝试将嵌入式数据库derby与spring框架结合使用。我可以插入数据并读取它。除了数据库没有持久化之外,一切都很好。当我关闭应用程序并再次运行时,数据不存在。我猜数据库是再次创建的,但不知道为什么。 我的代码: 和Spring的输出日志是 create-db.sql内容是 解决方案:接受的答案指向正确的方向,但误差为db;create=true无法启动。然后,我查看了Netbeans ID
Im使用spring 3.0.7、JUnit 4.11和DBUnit 2.4.9。我试图在保存未指定多对一关系(设置为null)的实体时测试trowing异常。以下是实体: 我创建了以下测试: AbstractDatabaseTest扩展了AbstractTransactionalJUnit4SpringContextTests。 试验方法为: 但是当我做测试的时候 当我像这样将预期异常更改为Da
问题内容: 我在apache和mod_wsgi和PostgreSQL中使用django(都在同一主机上),并且我需要处理很多简单的动态页面请求(每秒数百个)。我面临的问题是,瓶颈是django没有持久的数据库连接,并在每个请求上重新连接(大约需要5毫秒)。在进行基准测试时,我得到了持久连接,我可以处理近500 r / s,而没有连接时,我只能得到50 r / s。 有人有什么建议吗?如何修改Dja
目的 配置 NFS 共享为 OpenShift 节点提供存储,并且配置 OpenShift 持久卷以绑定至数据库 Pod。 环境 openshift v3.11.16/kubernetes v1.11.0 步骤 配置 NFS 共享持久卷1. 登录到 NFS 服务器 # ssh nfs.example.com2. 创建 config-nfs.sh 脚本,内容如下 #!/usr/bin/sh exp
我有一个简单的JPA存储库,看起来如下所示: 和两个有一个单子映射的类,如下所示: . 现在,我知道我可以很容易地编辑和持久化一个像这样的用户实例: 但是,在没有指向实例的指针的上下文中,如何持久化实例,f.I.: 我可以只调用吗? 我是否需要自动连接另一个存储库()并在其上调用.save()?
我是玻璃鱼的新手 异常[Eclipse链接-4002](Eclipse持久性服务-2.3.2. v20111125-r10461):org.eclipse.persistence.exceptions.数据库异常内部异常:java.sql.SQLExc0019:未选择数据库错误代码: 1046 在运行服务器之前,我确保服务器配置是使用以下指南完成的: mysql站点手册使用glassfish连接器