- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 hibernate 新手,我一直面临着将数据插入具有自动生成 ID 列的 SAMPLE 表的任务。
我正在使用 EntityManager 对象将对象持久保存到数据库中,但是出现错误:
IllegalArgumentException in class: SamplePk, setter method of property: id_sample
Expected type: java.lang.Integer, actual value: org.hibernate.id.IdentifierGeneratorHelper$2
请在下面找到我的代码
Entity Class
@Entity(name="SAMPLE")
@IdClass(SamplePk.class)
@Table(name="TABLE_SAMPLE")
public class Sample{
protected Integer id_sample;
protected Integer test;
public Sample() {}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id_sample")
public Integer getId_sample() {
return id_sample;
}
public void setId_gem_import(Integer id_sample) {
this.id_sample= id_sample;
}
//remaining setter getter in place
}
SamplePK Class
public class SamplePK implements Serializable{
private static final long serialVersionUID = 3688605897932153056L;
protected Integer id_sample;
protected Integer test;
public SamplePK() {
}
public SamplePK(Integer id_sample) {
super();
this.id_sample= id_sample;
this.test= test;
}
//setter getter in place
//equals() , hashcode() and other constructor in place
}
persistence logic
UserTransaction transaction = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction");
transaction.begin();
//util class provides EntityManager
ConnectionUtil conn = new ConnectionUtil();
EntityManager entityManager = conn.getEntityManager();
//objList is List object holding List of obj[]
//obj[] contains data for a row to be insert in SAMPLE Table : id_sample at 0, test at 1
ListIterator itr = objList.listIterator();
int index = 0;
while(itr.hasNext()) {
index++;
Object[] obj = (Object[])itr.next();
Sample objSample = new Sample();
objSample.setTest(obj[1]);
entityManager.persist(objSample );
if(index%batch_size==0) { //batch_size is initialized to 50
entityManager.flush();
entityManager.clear();
}
}
transaction.commit();
最佳答案
也尝试注释复合键的其他字段。像这样的事情:
protected Integer id_sample;
protected Integer test;
@Id
@Column(name="id_sample")
public Integer getId_sample() {
return id_sample;
}
public void setId_gem_import(Integer id_sample) {
this.id_sample= id_sample;
}
@Id
@Column(name="test")
public Integer getTest() {
return test;
}
public void setTest(Integer test) {
this.test= test;
}
关于java - 使用entityManager将多条记录插入到包含@GenerateValue的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55632913/
我很困惑,因为到处都提到只能将 @GenerateValue 与 @Id 一起使用。 但是:它可以与非主键属性一起使用吗? 最佳答案 JPA specification document提供了一个重要
我想知道如何在 JPA 中使用序列。我们有一个非 pk 字段,其值必须来自数据库中的序列。我如何更新实体的值? 提前致谢。 最佳答案 JPA 定义 @GenerateValue 仅适用于 PK 字段。
现代数据库支持自增能力吗?那么@Generatevalue 的目的是什么?看起来我们正在通过这种方式替换数据库功能。 最佳答案 将id标记为自动递增。当我说“标记它”时,我的意思是:“嘿 SQL!此列
我有一个带有 @GenerateValue() 的实体。我知道有不同的一代类型。我的问题是:当我创建实体的新实例时,是否有生成 ID 的生成类型?我需要对象的 id 来创建另一个 id 为 FK 的对
我想要做的是使用自动生成的 id 添加(POST)资源。我添加了注释,我的模型如下所示 @Id @GeneratedValue(strategy = GenerationType.AUTO) priv
我想创建一个带有前缀“CID_00001”的序列(示例): @Id @GeneratedValue(strategy=GenerationType.SEQUENCE) private String
我在使用 Hibernate 时遇到问题,无法弄清楚我做错了什么。我有一个简单的表格: CREATE TABLE users ( id BIGINT NOT NULL GENERATED AL
在初始化我的对象时,我似乎找不到任何有关如何使用 GenerationValue 注释的文档。 这是我的对象类的 id 字段,我还遗漏了另外两个字段 @Id @GeneratedValue(strat
我正在使用 JPA 在项目中创建一个类,并且我想使用 JPA 标签将该类映射到数据库中,但在这部分中出现错误: @Entity @Table(name= "SIGAC_TIPUS_VALORACIO"
在我的实体中,有一个名为 id 的字段,标有注释@Id(我手动设置),并且知道我想知道,是否有可能自动生成唯一 ID(使用 @GenerateValue),但我也想手动设置 ID,未设置时应自动生成。
我正在使用 MySQL/JPA,即使在提交后,持久实体上自动生成的 ID 也不会变得可用。这是发生这种情况的代码: synchronized (em.getTransaction()) { w
我的应用程序使用 DB2。创建数据库后我运行一些插入脚本。该插入脚本会在表中生成记录,并在插入脚本中给出 id。 假设 abc 表插入脚本创建一条 id = 3 的记录。由于 id 设置为在 hibe
我的要求是让 hibernate 获取现有表中已有的最新 PI 值,并通过将最大 PI 值增加 1 来添加新记录。 下面是我的实体类实现 @Entity public class User {
我想用自动生成(自动增量,最后一个数字+ 1)创建一个唯一的字段“数字”。但它不是一个 id 字段。我怎样才能达到这个目标? @GenerateValue 不起作用。仅生成了 id。我的代码不起作用。
我有一个 hibernate 实体父类(super class): @MappedSuperclass public abstract class Pojo_Entity_SuperClass {
我想实现自己的策略来为表中的新行生成主键,例如我希望主机的 id 172.24.85.20 将是 8520。 我可以以某种方式扩展@GenelatedValue注释吗?您会推荐哪种方法? 最佳答案
我是 Spring 新手,我想为成员(member)保存个人资料图片。我正在使用 lombok 和 JPA。 @Data @Entity public class Member { priva
我什么时候才能可靠地知道新创建实体的 id 字段用 @GenerateValue 注释已由持久性提供程序设置? JPA 规范对此并不是很具体。我见过类似的问题,但他们得到不同且令人困惑的答案。我知道一
那么自动生成函数“@GenerateValue(strategy = GenerationType.AUTO)”到底是如何工作的呢? 我是 Hibernate 的新手,并且继承了一个广泛使用的项目。
我正在尝试将对象持久保存到数据库中。不断收到“列 ID 无法接受空值错误”。我的对象如下所示: @Entity public class TestTable { @Id @Ge
我是一名优秀的程序员,十分优秀!