Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate ConstraintViolationException:在删除时无操作在更新时无操作_Java_Mysql_Spring_Hibernate_Jpa - Fatal编程技术网

Java Hibernate ConstraintViolationException:在删除时无操作在更新时无操作

Java Hibernate ConstraintViolationException:在删除时无操作在更新时无操作,java,mysql,spring,hibernate,jpa,Java,Mysql,Spring,Hibernate,Jpa,我正在使用Java、Spring、Hibernate和JPA +--------------+ +-----------------+ +-------------------+ | map_range | | map_location | | location_map | +--------------+ +-----------------+ +-------------------+ | ID

我正在使用Java、Spring、Hibernate和JPA

  +--------------+      +-----------------+    +-------------------+
  |   map_range  |      |  map_location   |    |   location_map    |
  +--------------+      +-----------------+    +-------------------+
  |     ID       |      |     MAP_ID      |    |      ID           |
  |     RANGE    |      |     LOC_ID      |    |     LATITUDE      |
  |     RADIUS   |      |                 |    |     LONGITUDE     |
  +--------------+      +-----------------+    +-------------------+
MapRange.java

@Entity
@Table(name = "map_range")
@XmlRootElement(name = "map_range")
public class MapRange extends AbstractDomain<Long> {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Size(min = 1, max = 100)
    @Column(name = "NAME", nullable = false)
    private String name;

    @Column(name = "RADIUS", nullable = false)
    private Integer radius;

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
    @JoinTable(name = "map_location", joinColumns = {
            @JoinColumn(name = "MAP_ID", referencedColumnName = "ID") }, inverseJoinColumns = {
                    @JoinColumn(name = "LOC_ID", referencedColumnName = "ID", unique = true) })
    private Set<LocationMap> locations;
@Entity
@Table(name = "location_map")
@XmlRootElement(name = "location_map")
public class LocationMap extends AbstractDomain<Integer> {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "ID", unique = true, nullable = false)
    private Integer id;

    @Column(name = "LATITUDE", nullable = false)
    private BigDecimal latitude;

    @Column(name = "LONGITUDE", nullable = false)
    private BigDecimal longitude;
我得到以下错误:

SQL错误:1452,SQLState:23000 11:45:11578错误[org.hibernate.engine.jdbc.spi.SqlExceptionHelper](默认任务-5) 无法添加或更新子行:外键约束失败 (
ebdb
map\u location
,约束
fk\u map\u loc\u map
外键 (
LOC\u ID
)删除时参考
map\u range
ID
)更新时不执行任何操作 (无行动) 11:45:11578信息[org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl](默认值 任务5)HH000010:批处理发布时,它仍然包含JDBC 声明 11:45:11579错误[org.hibernate.internal.exceptionApperstandardimpl](默认任务5) HH000346:托管刷新期间出错 [org.hibernate.exception.ConstraintViolationException:无法 执行语句]


如果有人能就我如何解决此问题提供一些建议,我将非常感谢您的帮助。

您如何创建实体的实例?您只需向我们显示您正在调用
merge
操作,但不显示它们是如何创建和映射的。@Richard您使用的
BeanUtils
是什么?
super.merge(mapRange);

    BeanUtils.copyProperties(entity, attached);
    entityManager.setFlushMode(FlushModeType.COMMIT);
    attached = entityManager.merge(attached);
11:45:11,577 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-5)