Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
嵌入式对象Spring JPA上的删除操作_Spring_Jpa_Spring Data_Spring Data Jpa - Fatal编程技术网

嵌入式对象Spring JPA上的删除操作

嵌入式对象Spring JPA上的删除操作,spring,jpa,spring-data,spring-data-jpa,Spring,Jpa,Spring Data,Spring Data Jpa,我有以下实体: @Entity(name = "USRGRP_MAP") public class UserGroupMapping { @Id @Column(name = "USRGRP_ID") @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_GRP_MAP_SEQ") @SequenceGenerator(sequenceName = "usrgrp_map_s

我有以下实体:

 @Entity(name = "USRGRP_MAP")
public class UserGroupMapping {

    @Id
    @Column(name = "USRGRP_ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_GRP_MAP_SEQ")
    @SequenceGenerator(sequenceName = "usrgrp_map_seq",allocationSize = 1,name = "USER_GRP_MAP_SEQ")
    private Long mappingId;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "USER_ID", referencedColumnName = "USER_ID")
    private User user;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "USR_GRP_ID", referencedColumnName = "USR_GRP_ID")
    private UserGroup group;

    @Column(name = "USR_USRGRP_ACT")
    private String userGroupAct;

    getter/setters
}

@Entity(name = "USER")
public class User {

    @Id
    @Column(name = "USER_ID")
    private Long userId;

    @Column(name = "LOGIN_ID")
    private String userName;

    getter/setters
}

@Entity(name = "USR_GRP")
public class UserGroup {

    @Id
    @Column(name = "USR_GRP_ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_GRP_SEQ")
    @SequenceGenerator(sequenceName = "usr_grp_seq",allocationSize = 1,name = "USER_GRP_SEQ")
    private long groupId;

    @Column(name = "GRP_NM")
    private String groupName;

    @Column(name = "GRP_DESC")
    private String groupDesc;

     getter/setters
}
UserGroupMapping包含与用户和组的多对一关系。 现在,我想对已创建的存储库的UserGroupMapping执行CRUD操作,如下所示:

public interface UserGroupMappingRepository extends JpaRepository<UserGroupMapping, Long> {
    List<UserGroupMapping> findByGroup(UserGroup group);
    List<UserGroupMapping> findByUser(User user);
}
尽管查询在SQL开发人员中可以正常工作,但遇到异常时SQL语法无效

以下是我的服务级别:

@Service

public class UserGroupMappingServiceImpl implements UserGroupMappingService{

    @Autowired
    private UserGroupMappingRepository repository;


    @Override
    public void deleteUserGroupMapping(Long userId, Long groupId) {
        repository.deleteUserGroupMappingByUserAndGroup(userId,groupId);
    }


}
有人能建议正确的方法从UserGroupMapping中删除条目而不删除用户和组吗

以下是USRGRP_地图表:

    USRGRP_ID    USER_ID USR_USRGRP_ID USR_USRGRP_ACT
------------- ---------- ------------- -
           41     306106            41 Y
           14     108527            14 Y
            8     295597             8 N
           10     296518            10 Y
           11     295597            11 Y
提前感谢。

尝试更改 @查询(value=“从USR\U USRGRP\U映射中删除,其中用户id=:userId和USR\U grp\U id=:groupId”,nativeQuery=true) void deleteUserGroupMappingByUserAndGroup(@Param(“userId”)Long userId,@Param(“groupId”)Long groupId)

为此:

@修改

@查询(value=“从USR\U USRGRP\U映射中删除,其中用户id=:userId和USR\U grp\U id=:groupId”,nativeQuery=true) void deleteUserGroupMappingByUserAndGroup(@Param(“userId”)Long userId,@Param(“groupId”)Long groupId)

干杯


~Emil

添加@modify会产生以下异常:“异常”:“org.springframework.dao.InvalidDataAccessApiUsageException”,“消息”:“执行更新/删除查询;嵌套异常为javax.persistence.TransactionRequiredException:执行更新/删除查询”,请提供完整的堆栈跟踪
    USRGRP_ID    USER_ID USR_USRGRP_ID USR_USRGRP_ACT
------------- ---------- ------------- -
           41     306106            41 Y
           14     108527            14 Y
            8     295597             8 N
           10     296518            10 Y
           11     295597            11 Y