У меня два ниже сущность .Один из них - 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 .