๐ฟ Spring/Spring Data DynamoDB5 [Spring Data DynamoDB] Type Error ํด๊ฒฐํ๊ธฐ โ @DynamoDBTyped ๋ฌธ์ ์ํฉ๋ฐ์ดํฐ ์ ์ฅ๊ณผ์ ์์ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ์์ต๋๋ค.๋ฐ์ดํฐ attribute์ ํ์ ์ ์ ํํ๊ฒ ์ง์ ํด์ฃผ์ง ์์, ์ ์ฅ๊ณผ์ ์์ ํ์ ์๋ฌ๊ฐ ๋๊ณ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.not supported; requires @DynamoDBTyped or @DynamoDBTypeConverted: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException ์ ์ฅํ๊ณ ์ ํ๋ Entity ์ฝ๋์ ๋๋ค. followingUserHandles์ followerUserHandles ์ ์ฅ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์์์ต๋๋ค.public class User extends BaseEntity { ... @DynamoDBAttribute @Gett.. 2024. 8. 3. [Spring Data DynamoDB] LocalDateTime ์ ์ฅ ์๋ฌ ๋ฌธ์ ์ํฉLocalDateTime์ DynamoDB์ ์ ์ฅํ๋ ค๊ณ ํ์ผ๋, ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ์์ต๋๋ค.InvalidDefinitionException: Joda date/time type `org.joda.time.LocalDateTime` not supported by default ํด๊ฒฐ ๊ณผ์ LocalDateTime parsing ์๋ฌ๋ก ์ถ์ธกํ์์ผ๋ฉฐ,์ง์ LocalDateTime์ ๋ฐ๊ฟ์ฃผ๋ Custom Converter๋ฅผ ์์ฑํ์ฌ ํด๋น ์๋ฌ๋ฅผ ํด๊ฒฐํด ์ค ์ ์์์ต๋๋ค. public static class LocalDateTimeConverter implements DynamoDBTypeConverter { @Override public Date convert(LocalDateTime s.. 2024. 8. 3. [Spring Data DynamoDB] Partition Key์ Sort Key๋ฅผ ๊ฐ์ด ์ฌ์ฉํ ๋ ๋ฌธ์ ์ํฉPOCHAK์ ์ํ ์ด๋ธ ์ค๊ณ๋ก, Partition Key์ Sort Key๋ฅผ ๋ชจ๋ ์ฌ์ฉํ์ฌ ์ค๊ณํ์์ต๋๋ค.ํ์ง๋ง Spring Data DynamoDB์ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์์ BeanCreationException์ด ๋ฐ์ํ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์๋ณด๋ ๊ณผ์ ์์ Partition Key์ Sort Key๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, CrudRepository๋ฅผ ์ฌ์ฉํ ๋ PK์ SK๋ฅผ ์กฐํฉํ Id ํด๋์ค๊ฐ ๋ฐ๋ก ์์ด์ผ ํ๋ค๋ ์ ์ ์๊ฒ๋๊ณ ์๋ฌ๋ฅผ ํด๊ฒฐํ ๊ณผ์ ์ ์ ๋ฆฌํฉ๋๋ค ~.~๋ฌธ์ ํด๊ฒฐ ๊ณผ์ UserId ClassUserId ํด๋์ค๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํฉ๋๋ค. User์์ ์ค์ ํ PK์ SK์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.์ ์ํ ์ ์ UserId ํด๋์ค๋ Serializable์ ๊ตฌํimplementsํด์ผ ํฉ.. 2024. 8. 3. [Spring Data DynamoDB] ํ์ด์ง ์ ๋ฆฌ 'POCHAK'์ ๊ฐ๋ฐํ๋ฉฐ Spring Data DynamoDB๋ฅผ ์ฌ์ฉํด๋ณด์๊ณ ,๊ทธ ๊ณผ์ ์์ ์๋กญ๊ฒ ์๊ฒ ๋ ์ ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.โป ์ดํ ํฌ์ฐฉ์ ์๋น์ค ํน์ฑ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ DynamoDB์์ MySQL๋ก ๋ณ๊ฒฝ ํ ๋ค์ ๊ฐ๋ฐํ์์ต๋๋ค.- Spirng Data DynamoDB ๋ผ์ด๋ธ๋ฌ๋ฆฌ- POCHAK GitHub Repository DDB์์ ํ์ด์ง์ด ํ์ํ ์ด์ ๊ณต์ ๋ฌธ์์๋ ์ธ๊ธ๋์ด ์์ง๋ง, DynamoDB์ ๋จ์ผ ์ฟผ๋ฆฌ ์์ ์ ์ต๋ 1MB์ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ฐ๋ฆฌ ์ดํ๋ฆฌ์ผ์ด์ ์์ ํ๋กํ ํญ์์ ์์ ์ด ์ฐํ ๊ฒ์๊ธ๊ณผ ์ฐ์ ๊ฒ์๊ธ์ ์กฐํํ ๋ ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง์ด ํ์ํ๋ค๊ณ ํ๋จํ์ฌ ๋ฆฌํฉํ ๋ง์ ์งํํ๊ฒ ๋์์ต๋๋ค!๋ฌผ๋ก ์ฑ๋ฅ ์ธก๋ฉด๋ ๊ณ ๋ คํด๋ณด์์ ๋, ํ์ด์ง์ ์ธ์ ๊ฐ ํด์ผ๋๋ฆฌ๋ผ ์๊ฐํ๊ณ ์.. 2024. 8. 3. [Spring Data DynamoDB] ์ฟผ๋ฆฌ ์์ ์ ๋ฆฌ 'POCHAK'์ ๊ฐ๋ฐํ๋ฉฐ Spring Data DynamoDB๋ฅผ ์ฌ์ฉํด๋ณด์๊ณ ,๊ทธ ๊ณผ์ ์์ ์๋กญ๊ฒ ์๊ฒ ๋ ์ ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.โป ์ดํ ํฌ์ฐฉ์ ์๋น์ค ํน์ฑ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ DynamoDB์์ MySQL๋ก ๋ณ๊ฒฝ ํ ๋ค์ ๊ฐ๋ฐํ์์ต๋๋ค.- Spirng Data DynamoDB ๋ผ์ด๋ธ๋ฌ๋ฆฌ- POCHAK GitHub Repository Query๊ตฌํ ๋ชฉํKeyConditionExpression ์๋ ํ์ธํ๊ธฐPK๊ฐ ๋์ผํ๊ณ SK๊ฐ USER#๋ก ์์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ๊ฐ์ ธ์ค๊ธฐ:.withKeyConditionExpression("#PK = :val1 and begins_with(#SK, :val2)")์์ ์ฝ๋PK, SK์ ์ด๋ฆ๊ณผ, ๊ฐ๊ฐ ๋น๊ตํ ๊ฐ๋ค์ HashMap์ ์ ์ฅ์ํด.DynamoDBQueryExperess.. 2024. 8. 3. ์ด์ 1 ๋ค์