JPAExpression.select를 이용해서 발생했던 문제.
-> JPAQueryFactory(entityManager)로 이용했더니 됨.
구글링 내용
출처: https://velog.io/@sigint_107/GraphQL-QueryDsl-null-Fetching-Error
GraphQL디버거에서 나온 에러내용
"Exception while fetching data (/comparePartsCond) : null",
IntelliJ console에서 나오는 에러내용
UnsupportedOperationException: null
원인은 queryDsl쿼리를 JPAexpression객체로 불러서 나오는 에러였다.
원래대로라면 JPAQueryFactory가 QueryDsl쿼리를 부르는 맞는 객체이다.
분류 전체보기
QueryDsl UnsupportedOperationException:null
[Spring] 서버 재시작 없이 설정 파일 Reload (동적으로 설정파일 읽기)
- ReloadConfig
@Component
public class ReloadConfig {
private ReloadingFileBasedConfigurationBuilder<PropertiesConfiguration> builder;
@Value("${spring.profiles.active}")
private String active;
@PostConstruct
void init() {
builder = new ReloadingFileBasedConfigurationBuilder<>(PropertiesConfiguration.class)
.configure(new Parameters().fileBased().setFile(new File("./properties-" + active + ".properties")));
PeriodicReloadingTrigger periodicReloadingTrigger = new PeriodicReloadingTrigger(
builder.getReloadingController(), null, 50, TimeUnit.SECONDS
);
periodicReloadingTrigger.start();
}
public Configuration getConfig() {
try {
} catch(ConfigurationException e) {
e.printStackTrace();
}
return null;
}
}
- properties-local.properties
mail.receivers:aaa@aaa.com,bbb@bbb.com,ccc@ccc.com
- 사용
@Autowired
private ReloadConfig reloadConfig;
public void sendEmail() {
String[] mailReceivers = reloadConfig.getConfig().getString("mail.receivers").split(",");
}
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
[Thymeleaf] th:block 이용하여 left menu 처리 (without Thymeleaf Layout Dialect)
Thymeleaf Layout Dialect 사용하지 않고 left 메뉴를 분리처리
thymeleaf-layout-dialect 를 만든 이유가 분명 있지만... 사용할 수 없는 환경에서 th:block을 이용하여 아래와 같이 처리
디렉토리 구조
-- resouces
-- static
-- css
style.css
-- templates
main.html
head.html
left.html
- main.html
<html>
<th:block th:include="head"></th:block>
<body>
<th:block th:include="left"></th:block>
Main화면~~~
<body>
</html>
- head.html
<head>
<title>Title</title>
<link ref="stylesheet" th:href="@{/css/style.css}">
</head>
- left.html
<div>
<ul>
<li>메뉴1</li>
<li>메뉴2</li>
</ul>
</div>
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
[Thymeleaf] a href 다이나믹 경로 (파라미터 전달, onclick 사용)
* a href 다이나믹 경로 설정
- 데이터
{"menu": {
"name":"한식"
, "code":"KR"
}
}
- 코드
<a th:text="${menu.name}" th:href="@{/menu/} + ${menu.code}"></a>
또는
<a th:text="${menu.name}" th:href="@{/menu/{code}(code=${menu.code})}"></a>
>> '/menu/kr' 로 이동
* a href Get 파라미터 설정
- 데이터
{"menu": {
"name":"한식"
, "code":"KR"
}
}
- 코드
<a th:text="${menu.name}" th:href="@{/menu(code=${menu.code})}"></a>
>> '/menu?code=kr' 로 이동
* a href onclick 사용
- 데이터
{"menu": {
"name":"한식"
, "code":"KR"
}
}
- 스크립트
<script>
function goMenu(url) {
document.location.href=url;
}
</script>
- 코드
<a th:text="${menu.name}" href="javascript:void(0)" th:onclick="'goMenu(\'' + @{/menu(code=${menu.code})} + '\')'"></a>
>> '/menu?code=kr' 로 이동
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."