Hibernate-reactive: MS SQL: ๋กœ์ปฌ ์ž„์‹œ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹คํŒจ

์— ๋งŒ๋“  2021๋…„ 05์›” 03์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: hibernate/hibernate-reactive

MS SQL๋กœ UnionSubclassInheritanceTest ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

HR์€ ReactiveIdTableSupport ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ์ž„์‹œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ SQL์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

MS SQL์€ ๋กœ์ปฌ ์ž„์‹œ ํ…Œ์ด๋ธ” ์ด๋ฆ„์ด ๋‹จ์ผ ํ•ด์‹œ ๊ธฐํ˜ธ๋กœ ์‹œ์ž‘๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql#temporary -tables

๋ชจ๋“  9 ๋Œ“๊ธ€

์˜ˆ, AbstractTransactSQLDialect.getDefaultMultiTableBulkIdStrategy() ๋ฐ˜ํ™˜๋œ ๊ฐ’ ๋Œ€์‹  ReactiveBulkIdStrategy ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ถฉ๋ถ„ํžˆ ์‰ฝ๊ฒŒ ๊ณ ์น  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

@tsegismont ReactiveIdTableSupport. generateIdTableName () ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

    <strong i="8">@Override</strong>
    public String generateIdTableName(String baseName) {
        return (dialect instanceof SQLServerDialect ?  "#" : "ht_") + baseName;
    }

@gavinking ํŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ( ht_ ์ ‘๋‘์‚ฌ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด) getCreateIdTableCommand ๋ฉ”์†Œ๋“œ๋„ ๋ณ€๊ฒฝํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/tsegismont/hibernate-reactive/commit/84caabcefb4eb1a47e7e0c2d931584038d162393 ์ฐธ์กฐ

๋‚˜๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๊ฐ”๋‹ค ( ht_ ์ ‘๋‘์‚ฌ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด)

๊ธ€์Ž„, ๋‚˜๋Š” ๋‹น์‹ ์ด Hibernate ORM (์šฐ๋ฆฌ๊ฐ€ ์ •๋ ฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š”)์„ ํ™•์ธํ•˜๋ฉด ์ž„์‹œ ํ…Œ์ด๋ธ”์ด ์ž์ฒด ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— SQL Server์˜ ๊ฒฝ์šฐ ht_ ์ ‘๋‘์‚ฌ๋ฅผ ์‚ญ์ œํ•œ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค.

@tsegismont ์ด๊ฑธ ๋‹ซ์•„๋„ ๋ ๊นŒ์š”?

@DavidD ์˜ ํฌํฌ์— ๋Œ€ํ•œ PR์˜ ์ผ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—ฌ๊ธฐ์—์„œ ์„ ๋ณ„๋œ ๊ฒฝ์šฐ ์˜ˆ, ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@tsegismont ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

๊ณ ๋งˆ์›Œ ์–˜๋“ค์•„.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

DavideD picture DavideD  ยท  17์ฝ”๋ฉ˜ํŠธ

gavinking picture gavinking  ยท  6์ฝ”๋ฉ˜ํŠธ

akoufa picture akoufa  ยท  30์ฝ”๋ฉ˜ํŠธ

DavideD picture DavideD  ยท  37์ฝ”๋ฉ˜ํŠธ

yaakov-berkovitch picture yaakov-berkovitch  ยท  16์ฝ”๋ฉ˜ํŠธ