为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:windows
【CPU】:Intel® Core™i5-10400 CPU
【问题描述】*:
dsl方法
public RobotAnswer findByRobotAnswerTextAndRobotAnswerTypeCodeAndLibraryId(String answerText, String typeCode, Long libraryId) {
BooleanBuilder booleanBuilder = new BooleanBuilder();
booleanBuilder.and(qRobotAnswer.robotAnswerText.in(answerText))
.and(qRobotAnswer.robotAnswerTypeCode.eq(typeCode));
if (!ObjectUtils.isEmpty(libraryId)) {
booleanBuilder.and(qRobotAnswer.libraryId.eq(libraryId));
}
return jpaQueryFactory.select(Projections.fields(RobotAnswer.class,
qRobotAnswer.robotAnswerId,
qRobotAnswer.robotAnswerTypeCode,
qRobotAnswer.robotAnswerText,
qRobotAnswer.libraryId
))
.from(qRobotAnswer)
.where(booleanBuilder)
.fetchFirst();
}
执行打印的SQL
select robotanswe0_.robot_answer_id as col_0_0_, robotanswe0_.robot_answer_type_code as col_1_0_, robotanswe0_.robot_answer_text as col_2_0_, robotanswe0_.library_id as col_3_0_ from cs31_test.td_robot_answer robotanswe0_ where robotanswe0_.robot_answer_textin? and robotanswe0_.robot_answer_type_code=? and robotanswe0_.library_id=? limit ?
报错信息
表结构发一下,text类型不能用等值查询