검색을 해보면 부모클래스에 @SuperBuilder를 설정하라고 되어있고, 자식클래스는 @Builder를 사용하도록 되어있다.

물론 이것도 안되는것은 아니나, 부모클래스의 멤버변수도 같이 자식클래스에서 builder를 이용하여 셋팅하고자 할 때는 동작하지 않는다.

이 때는 자식클래스도 @SuperBuilder를 설정해줘야 한다.

'develop > Java' 카테고리의 다른 글

GMT+0 기준 시간 가져오기  (0) 2019.03.05

DB: PostgreSQL 14? 16?
SpringBoot: 2.7.x

 

ERROR: column "XXX" is of type XXX but expression is of type character varying  Hint: You will need to rewrite or cast the expression.

해당 오류가 발생 할 때, SpringBoot 3.x 버전과 2.x버전의 해결 방법에 차이점이 있었다.

SpringBoot 3.x는 간편하게 Hibernate 6.0에서 지원하는 @JdbcTypeCode(SqlTypes.NAMED_ENUM)을 적용하면 된다고 한다.

하지만 난 2.7.x버전(전자정부 프레임워크 4.2)에서 개발 중이기 때문에 충돌우려가 있어, 시간을 들여 계속 검색한 결과, postgreSQL 접속 url에 파라미터를 추가하면 간단하게 해결되는것을 확인했다.

stringtype=unspecified

'develop > Spring(boot 포함)' 카테고리의 다른 글

Spring boot 에서 JPA설정  (0) 2025.01.21

출처: https://wogus789789.tistory.com/266

SELECT
	info. TABLE_NAME,
	info. COLUMN_NAME,
	info.udt_name as type,
	case when info.character_maximum_length is null then info.numeric_precision else info.character_maximum_length end as length,
	info.column_default,
	info.is_nullable,
	comm.column_comment as comment,
	case when pri_key.column_name is null then '' else 'PK' end as PK
FROM
	information_schema. COLUMNS info
LEFT JOIN (
	SELECT
		PS.schemaname as SCHEMA_NAME,
		PS.RELNAME AS TABLE_NAME,
		PA.ATTNAME AS COLUMN_NAME,
		PD.DESCRIPTION AS COLUMN_COMMENT
	FROM
		PG_STAT_ALL_TABLES PS,
		PG_DESCRIPTION PD,
		PG_ATTRIBUTE PA
	WHERE
		PS.RELID = PD.OBJOID
	AND PD.OBJSUBID <> 0
	AND PD.OBJOID = PA.ATTRELID
	AND PD.OBJSUBID = PA.ATTNUM
	ORDER BY
		PS.RELNAME,
		PD.OBJSUBID
) comm ON comm.SCHEMA_NAME = info.table_schema
AND comm. TABLE_NAME = info. TABLE_NAME
AND comm. COLUMN_NAME = info. COLUMN_NAME
LEFT JOIN (
	SELECT
		CC.*
	FROM
		INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC,
		INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE CC
	WHERE
		TC.CONSTRAINT_TYPE = 'PRIMARY KEY'
   AND TC.TABLE_CATALOG   = CC.TABLE_CATALOG
   AND TC.TABLE_SCHEMA    = CC.TABLE_SCHEMA
   AND TC.TABLE_NAME      = CC.TABLE_NAME
   AND TC.CONSTRAINT_NAME = CC.CONSTRAINT_NAME
) pri_key ON pri_key.table_schema = info.table_schema
AND pri_key. table_name = info.TABLE_NAME
AND pri_key. column_name = info. COLUMN_NAME
WHERE
	info.table_schema = 'public'
ORDER BY
	info. TABLE_NAME,
	info.ordinal_position;

여러가지로 검색했었는데, 스프링 부트에 대한 버전 명시가 없이 각각 설정이 다 따로 있어서 정리

아래 두 사항 모두 @Configuration annotation이 있는 곳에다가 삽입해야 한다.

1. 스프링 부트 3.x 이전 버전에서 설정 시 아래 두 가지 annotation이 있어야 오류 없이 실행이 된다.

@EnableJpaRepositories
@EntityScan

2. 스프링 부트 3.x 이상 버전에서는 아래 한 가지 annotation이 있어야 오류 없이 실행이 된다. (보통은 스프링부트 적용시 자동으로 설정된다고 한다)

@EnableJpaRepositories

 

전자정부 프레임워크를 통한 스프링부트 프로젝트를 만들어서 JPA를 적용하는 과정에서의 삽질기...

'develop > Spring(boot 포함)' 카테고리의 다른 글

JPA enum 타입을 변환하지 못하는 오류  (0) 2025.01.28

출처: https://zeliard.tistory.com/entry/win10-11-check-capacity-of-each-folder

PS (Power Shell) 관리자 모드에서 실행

$unitFactor = 1MB
$unitLabel = "MB"
Get-ChildItem . -Directory | ForEach-Object {
    $folderPath = $_.FullName
    $folderSize = (Get-ChildItem -Path $folderPath -Recurse -File | Measure-Object -Property Length -Sum).Sum
    [PSCustomObject]@{
        FolderName = $_.Name
        FolderSize = [Math]::Round($folderSize / $unitFactor, 2)
        Unit = $unitLabel
    }
} | Sort-Object FolderSize -Descending | Format-Table -AutoSize

아래와 같은 스크립트 코드를 통해 구글맵 api js 라이브러리를 로드하는 경우에 맵이 간헐적으로 표시되지 않는 경우가 있다.

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key={Your API KEY}&callback=initMap" async defer></script>

 

원인은 script 태그의 async속성 때문이다.

보통 웹페이지는 낮은 숫자 라인(1)부터 차례대로 읽어들여 로딩한다고 보면 된다.
그 때 위 api 를 로딩하는 태그를 소스상에서 callback 에 설정한 js함수보다 먼저 배치하게 되는경우, 간헐적으로 발생한다.(결국은 로딩문제다)

해결법은 해당 스크립트 태그를 callback함수보다 아래에 배치하거나, async, defer를 빼면 된다.

async는 웹페이지 로딩과 스크립트 파일 로딩을 동시에 실행하기 때문에 웹페이지 로딩보다 api js파일 로딩이 먼저 끝나는 경우에 맵이 표시되지 않는다.

구글의 예제에는 defer가 없는데, 검색한 것들에선 왜 있는지 모르겠다...

'develop > javascript' 카테고리의 다른 글

iframe 페이지 전환 시 history추가되지 않게 하기  (0) 2019.03.28
스크롤 높이 계산  (0) 2018.04.09

인계받은 소스를 유지보수 하던 중, 이미지 파일을 올리는데, 자꾸 오류가 나서 확인해보니
단순히 업로드 된 파일 확장자를 가지고 이미지의 종류를 구분하고 있었다

실제 파일은 jpg인데, 확장자를 png로 했더니 인식을 못해서 계속 오류가 나는 것이었다

이미지 구분을 getimagesize() 함수를 통해 간단히 해결할 수 있다

$size = @getimagesize($file);
if ($size && $size["mime"])
    $extension = ".".explode("/", $size["mime"])[1];

grant 명령어로 권한을 주는데, 제목과 같은 오류가 발생하면서 제대로 설정이 되지 않았다.

검색해보니 여러가지 절차를 거쳐서 수정하는 방안이 있는데, 좀 더 간단한 방법이 없나해서 찾아보니 다음과 같은 명령어를 통해 해결할 수 있었다
제목에서의 오류는 mysql.db 이다.

repair table [DB].[테이블] use_frm;

repair table mysql.db use_frm;

'develop > DB' 카테고리의 다른 글

PostgreSQL 테이블 명세서용 쿼리  (0) 2025.01.21
Mysql, GMT +0 기준 시간  (0) 2019.03.05
cassandra db 정리  (0) 2013.05.09
PostgreSQL, MySQL, SQLite별 속도 비교  (0) 2012.07.18

table 태그의 tr에 클릭시 상세보기를 보여주는 링크를 거는 경우가 있는데,
해당 tr 내부에 button 태그가 있어도 button의 클릭 이벤트를 무시하고 tr의 onclick 메서드가 실행된다

button이 있는 td에다가 아래의 속성을 추가하면 정상적으로 동작한다

<td onclick="event.cancelBubble = true">

 

'develop > web' 카테고리의 다른 글

Apache prefork, worker 모듈 확인  (0) 2023.10.21
.htaccess를 활용한 https 이동  (0) 2023.08.30

1. libpng 라이브러리 업데이트
- 현재 XAMPP 8.0.x에서 설치되는 libPNG버전이 1.6.34인데, 동일한 오류 발생.
- 검색해보니 버전이 올라가도 안된다는 말이 있고, 1.6.34보다 더 높은 버전을 설치하면 된다는 말도 있음
- 결론은 최신 소스를 다운로드하여 make 빌드해서 설치
- 하지만 여전히 안되서 2번 방법시도하여 성공

2. ImageMagick 사용

magick convert -interlace none path/to/source-image.png path/to/target-image.png

'develop > PHP' 카테고리의 다른 글

업로드한 파일 구분  (0) 2024.05.21

+ Recent posts