Я хочу, чтобы результат запроса псевдонима MySQL в querydsl - PullRequest
0 голосов
/ 04 июля 2019

Мне нужен результат запроса псевдонима mysql в querydsl. Я пытался, но произошла следующая ошибка неверного пути.

MySql, java, queryDsl

QBoard qBoard = QBoard.board;
JPAQuery<BoardDto> query = new JPAQuery<>(entityManager);
BooleanBuilder builder = new BooleanBuilder();

Path<Board> board= Expressions.path(Board.class, "board");
StringPath boardYn= Expressions.stringPath(board, "boardYn");
builder.and(boardYn.eq("N"));

builder.and(qBoard .boardSeq.eq(1));

BoardDto boardDto = query.select(Projections.bean(BoardDto.class, 
qBoard.name, 
qBoard.title,
new CaseBuilder()
.when(qBoard.title.eq("test1").then("Y"))
.otherwise("N').as("boardYn")
))
.from(qBoard)
.where(builder)
.fetchOne();


[real query]
select
    name,
    title,
    case when title = 'test1' then 'Y' else 'N'
    end as boardYn
from board
where board_seq = 1 and boardYn = 'N'

org.hibernate.hql.internal.ast.InvalidPathException: неверный путь: 'board.boardYn'

...