希望你过得愉快。
我实际上长期困扰着一个问题,无法弄清楚我在哪里错了。 也许新的眼睛可以对我有所帮助。
我正在使用存储库:
@Repository
public interface Entity1Repository extends
JpaRepository<Entity1, String> {
@Query (value = "SELECT "
+ "x.contextTime, "
+ "x.FLOWID, "
+ "flow.STATUT, "
+ "flow.ETAT,"
+ "flow.IDFONCTIONNEL "
+ "FROM ENTITY1 flow "
+ " INNER JOIN "
+ "(SELECT flowid , min(CONTEXTTIMESTAMP) contextTime "
+ " FROM ENTITY1 "
+ "GROUP BY flowid) x on x.flowid = flow.flowid and x.contextTime = flow.CONTEXTTIMESTAMP"
+ " WHERE "
+ "flow.FLOWCODE = ?3 AND flow.CONTEXTTIMESTAMP BETWEEN ?1 AND ?2 "
+ "ORDER BY contextTime desc " , nativeQuery = true)
public List<FlowDto> fetchAllProcessContextWithCriteriaAndFlowCode(
String startDate, String endDate, String flowCode, String idf, String etat, String status);
映射到我的实体1
@NoArgsConstructor
@Data
@Entity
@Table(name = "ENTITY1")
public class ProcessContext implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "CONTEXTID")
private String contextId;
@Basic(optional = false)
@Column(name = "DATATS")
@Temporal(TemporalType.TIMESTAMP)
private Date datatS;
@Basic(optional = false)
@Column(name = "CONTEXTTIMESTAMP")
@Temporal(TemporalType.TIMESTAMP)
private Date contextTimestamp;
@Column(name = "COLUMN1")
private String column1;
@Column(name = "COLUMN2")
private String column2;
@Lob
@Column(name = "MSGPRIVATECONTEXT")
private String msgPrivateContext;
@Column(name = "ETAT")
private String etat;
@Column(name = "STATUT")
private String statut;
@Column(name = "IDFONCTIONNEL")
@Lob
private Clob idf;
并且我使用一个称为Flow DTO的接口DTO
public interface FlowDto {
String getContextTime();
String getFlowCode();
String getContextId();
String getFlowId();
String getEtat();
String getLogRole();
String getLogId();
String getAppContextName();
String getAppContextValue();
String getIdf();
Boolean getChecked();
int getNbreError();
String getMsgPrivateContext();
}
我的问题是,当我尝试从请求中获取值时,它适用于字符串中的所有列,但不适用于数据库中属于CLOBS的@Lob列。
您是否知道为什么我的映射对他们不起作用?