- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将对象持久保存到数据库中。不断收到“列 ID 无法接受空值错误”。我的对象如下所示:
@Entity
public class TestTable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id = 0;
@Column(nullable=false, length=256)
private String data = "";
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
我的持久功能:
public static synchronized boolean persistObject(Object obj){
boolean success = true;
EntityManager em = null;
EntityTransaction tx = null;
try{
em = getEmf().createEntityManager();
tx = em.getTransaction();
tx.begin();
em.persist(obj);
tx.commit();
} catch (Exception e){
success = false;
} finally{
try{
em.close();
} catch(Exception e){
//nothing
}
}
return success;
}
最佳答案
您可以使用 GenerationType.TABLE。这样,jpa 使用序列表进行 id 分配,您可能永远不需要生成序列或自动增量值或降低可移植性的触发器。
另请注意,在 java 中 int 类型默认以 0 启动,因此您也可以摆脱它。
关于hibernate - @GenerateValue(strategy = GenerationType.AUTO) 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5129552/
目前,我们使用MySQL作为数据库,并且我们使用 @Generate Value(strategy = GenerationType.IDENTITY) 在某些情况下它工作得很好,我们需要将数据库迁移
目前,我们使用 MySQL 作为数据库,我们使用 @Generated Value(strategy = GenerationType.IDENTITY) 在我们需要将数据库迁移到 Oracle 的某
我有类似的问题 this SO question .但是我的应用程序正在 MySQL 上运行,并且有工作数据。 使用填充有数据的现有数据库重构应用程序的最佳做法是什么? 最佳答案 TABLE_PER_
我正在研究一个要求,其中代码应支持 Oracle 和 MySQL 数据库。我们正在使用 hibernate 并尝试使用框架功能来实现相同的目标。对于 Identity 列,我们使用 @Generate
我的应用程序使用 DB2。创建数据库后我运行一些插入脚本。该插入脚本会在表中生成记录,并在插入脚本中给出 id。 假设 abc 表插入脚本创建一条 id = 3 的记录。由于 id 设置为在 hibe
我有一个具有以下结构的部门表 Field Type Null Key Default Extra id int(11)
我正在从事一个项目,我需要存储一些数据(当然还有其他数据)。生产数据库将是MySQL,但对于我的测试,我使用 HyperSQL (又名 HSQLDB)。 我的所有@Enitity类都有相应的@Id字段
我有一个网络表单,用户可以在其中插入数据。然后还有存储在数据库中。但我在数据库记录中遇到了问题。我使用 spring 3、jpa、eclipselink 和 mysql。在实体中生成@Id。当我使用策
我有一个表,其中包含一个简单的 int id 列,在 SQL Server 中标识自动递增。 实体的 Id 用 @Id 和 @GeneratedValue 注释 @Id @GeneratedValue
Hibernate documentations (5.1.2.2. Identifier generator)州 AUTO: selects IDENTITY, SEQUENCE or TABLE
这是我的实体文件:- @Entity @Table(name = "tbl_article_function_instruction_status") @XmlRootElement public c
那么自动生成函数“@GenerateValue(strategy = GenerationType.AUTO)”到底是如何工作的呢? 我是 Hibernate 的新手,并且继承了一个广泛使用的项目。
我正在尝试将对象持久保存到数据库中。不断收到“列 ID 无法接受空值错误”。我的对象如下所示: @Entity public class TestTable { @Id @Ge
我有一个 ID 配置为的 hibernate 实体 @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; 新元素的创建在
我在同一个项目中有几个类,其中 id 始终是自动生成的。然而,在这种特定情况下,我的 id 值恰好始终为空。我真的很想知道出了什么问题,因为经过一些更改后它停止工作。与其他类相比,代码似乎是相同的。
由于 Spring Boot 2 使用 Hibernate 5,因此我的 MySQL 5.7 数据库的 @GenerateValue 默认策略 GenerationType.AUTO 会导致模拟 Ge
我的实体类: import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Ge
似乎我坚持的一切,它一直在 id 中输入 401,导致这个错误。有什么帮助吗? 异常 Exception [EclipseLink-4002] (Eclipse Persistence Service
我有一个在 JBOss 5、JPA 和 Derby 中运行良好的旧应用程序。我现在将它移植到 JBoss 6,却发现系统无法插入带有错误消息的实体: “ID”列不能接受 NULL 值。 其中,ID为标
我使用 Spring/Hibernate Dao 将我的对象保存在数据库中。现在我必须备份应用程序中的所有数据库。现在,当我尝试读回备份时,我的应用程序崩溃了。现在我发现了这个崩溃的问题。它是 Hib
我是一名优秀的程序员,十分优秀!