JPQL вставить, выбрав запрос не работает - PullRequest
0 голосов
/ 17 апреля 2019

У меня два ниже сущность .Один из них - MatchTable , другой - MatchLog .

@Entity
public class MatchTable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", updatable = false, nullable = false)
    private Long id;

    @ManyToOne
    private Integer primaryID;

    @ManyToOne
    private Integer suspectedID;

    @Column(nullable=false)
    private Integer status;

    //getter and setter

}



@Entity
public class MatchLog {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", updatable = false, nullable = false)
    private Long id;

    @OneToOne
    private MatchTable referenceID;

    @Column(nullable=false)
    private Long primaryID;

    @Column(nullable=false)
    private Long suspectedID;

    @Column(nullable=false)
    private Integer status;

    //getter and setter
}

Если статус из MatchTable , эти строки будут вставлены в MatchLog .Я попытался выполнить следующий запрос JPQL .

@Query("INSERT INTO MatchLog (referenceID.id,primaryID,suspectedID,status) SELECT id,primaryID,suspectedID,status from MatchTable where (primaryID = :ID or suspectedID = :ID)")
int updateMatchLogTable(@Param("ID") long ID);

Но этот запрос JPQL не работает.Пожалуйста, предложите мне, каким будет запрос JPQL для вставки изменения строк с MatchTable на MatchLog .

1 Ответ

1 голос
/ 17 апреля 2019

Если я не ошибаюсь, JPA не поддерживает "вставку в выбор".Вы можете изменить как собственный запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...