人类
package com.example.springjpa.demojpa.entity;
import java.sql.Timestamp;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Person {
@Id
@GeneratedValue
private int id;
private String name;
private String location;
private Date birth_date;
public Person() {};
public Person(String name, String location, Date birth_date) {
super();
this.name = name;
this.location = location;
this.birth_date = birth_date;
}
public Person(int id, String name, String location, Date birth_date) {
super();
this.id = id;
this.name = name;
this.location = location;
this.birth_date = birth_date;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Date getBirth_date() {
return birth_date;
}
public void setBirth_date(Timestamp birth_date) {
this.birth_date = birth_date;
}
@Override
public String toString() {
return "\n Person [name=" + name + ", location=" + location + ", birth_date=" + birth_date + "]";
}
}
PersonJpaDao类
package com.example.springjpa.demojpa;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;
import org.springframework.stereotype.Repository;
import com.example.springjpa.demojpa.entity.Person;
@Repository
@Transactional
public class PersonJpaDao {
@PersistenceContext
EntityManager em;
public Person findById(int id) {
return em.find(Person.class, id);
}
public Person insert(Person person){
return em.merge(person);
}
public Person update(Person person){
return em.merge(person);
}
}
主类
package com.example.springjpa.demojpa;
import java.util.Date;
import javax.transaction.Transactional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.example.springjpa.demojpa.entity.Person;
@SpringBootApplication
public class DemoJpaApplication implements CommandLineRunner {
private Logger logger = LoggerFactory.getLogger(this.getClass());
public static void main(String[] args) {
SpringApplication.run(DemoJpaApplication.class, args);
}
@Autowired
PersonJpaDao personJpaDao;
@Override
public void run(String... args) throws Exception {
logger.info("Person yBy Id {}", personJpaDao.findById(1));
logger.info("Update 10003 -> {}",
personJpaDao.update(new Person("Pieter", "Utrecht", new Date())));
}
}
当我运行主函数时,查找和更新工作正常,但对于具有与更新相同代码的插入操作,会引发如下异常:
原因:org。springframework。刀。DataIntegrityViolationException:无法执行语句;SQL[n/a];约束[“PUBLIC.PERSON(ID)上的主键];SQL语句:插入到PERSON(出生日期、位置、姓名、ID)值(?,,,?)[23505-196]]; 嵌套的异常是org。冬眠例外ConstraintViolationException:无法执行语句
原因:org。冬眠例外ConstraintViolationException:无法执行语句
我也有同样的问题,但我发现它就像是与主键发生冲突,就像一些数据已经存在于一些主键(主键20)和实体管理器也在使用相同的主键(20),因为您正在使用合并方法来更新和创建两者,因此它导致了以前存在的和新创建的冲突,通过合并方法尝试在构造函数中给出id或删除数据
我的代码有一个错误, 我花了一些时间寻找不同的解决办法,但没有效果。 这是我的代码, 这是我的eclipse控制台的日志。 null 感谢任何帮助。谢谢!
我有一个抽象类,它有一个正在自动连接的依赖项: 我有一个扩展这个抽象类的类: 现在,在进行单元测试时,我可以做到: 这可以很好地工作,但是如果我对ClassA使用构造函数注入,则classC会出现空指针异常。 在第二种情况下,我甚至尝试用普通的构造函数调用替换InjectMocks,但ClassC对象没有被嘲笑。 堆栈跟踪:
any 如果至少有一个元素符合给出的判断条件,则返回true。 val list = listOf(1, 2, 3, 4, 5, 6) assertTrue(list.any { it % 2 == 0 }) assertFalse(list.any { it > 10 }) all 如果全部的元素符合给出的判断条件,则返回true。 assertTrue(list.all { it < 10 }
本文向大家介绍C++实现顺序表的常用操作(插入删出查找输出),包括了C++实现顺序表的常用操作(插入删出查找输出)的使用技巧和注意事项,需要的朋友参考一下 实现顺序表的插入,删除,查找,输出操作在C语言中经常用到。下面小编给大家整理实现代码,一起看下吧 代码如下所示: 【Test_Sequence.cpp】 效果如下: 以上所述是小编给大家介绍的C++实现顺序表的常用操作(插入删出查找输出),希望
我正在开发一个应用程序,当没有移动信号覆盖区域时,将数据保存到数据库中。当服务返回时,它将从数据库中获取所有数据并上传到服务器上。 现在我有两个问题。 IntentService在第一次将数据插入数据库时停止。(当网络服务回来时,它还上传服务器上的数据,用于检查网络连接我使用定时器。(我不想停止服务。 当第二次我再次启动它创建的服务,并给出Nullpointerest xception.因为数据库
异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。 ES6诞生以前,异步编程的方法,大概有下面四种。 回调函数 事件监听 发布/订阅 Promise 对象 ES6将JavaScript异步编程带入了一个全新的阶段,ES7的Async函数更是提出了异步编程的终极解决方案。 基本概念 异步 所谓"异步",简单说就是一个