如何解决@Query和DTO之间的Clob映射
希望你过得愉快。
我实际上长期困扰着一个问题,无法弄清楚我在哪里错了。 也许新的眼睛可以对我有所帮助。
我正在使用存储库:
@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列。
您是否知道为什么我的映射对他们不起作用?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。