α αα α!
ααΎαααααααααΆαααααΆαααΎαααααΆααα
αα
αααα»αα’αααααααΊαααΆαααα αααα»αααΉαααααααααΈααΌαα ααα»ααααααα»αααΏααΆ αααα»αααααΎααααααααααααΈααΆααα’αα ααααΌαα·αααααααα
αααα»ααααααα·ααΈαα½ααα½αααααααΌαααΆααα
ααΆα‘αΎα "ααΈααΌαααααΆααα·αααααα" ααΆααΆα "ααΈαααααααΆααααα Java" (α¬ααΆααΆαααΆαααΈααααααααΆαα½ααααα’ααααααα»αααααΎα ααααΎβααΆαβααΆαα½α)α ααΆαααααα·ααΈααΆαααααααΈααΈα α’ααααααα»αααααααααα½αα’ααααααααΆααααααΌααααααααααΆαααααΆαααΊα
αΆαα αα·αααΆααααα»ααα αα
ααααααααααααααααα’αααα
αΆααααααΎαααΈαα
ααααΎαα
α’ααααααααααααΌαααΆαααααααααααα’ααααΎ
ααΆααα·ααΆααααΆαα½αα±ααα
αΆααα’αΆααααααααΎ reddit αα
αααα»αααααα
ααΆααααααΎαααΌα
αααα»ααα·αααΆααααΆααααα’αΎαααΆαααααααΆααΆαα’αααααααΎααααΆαααα½αα ααα½αααΌα αααααΆαααααΆαα jOOQ ααΆαααΆαααΉααααααΆααααΆαααααΆααα ααααααΆααα·ααααααΆ jOOQ ααΉαααα’αααααΆαααααΆααααΎααΆααααααΎαααΌααααααααΎααααΈααααΎαααΆαα ααααΆαβααααΆβααααΆααβααΆααΆααβα’αααβααΈβααΆαβααααΎ jOOQ ααΆαβαααβα’αααβαααβααΎαβααΆβαα α¬βαααααβα’αααβα±ααβααααΎβααΆαβαααααΎαβααΌαα ααα»ααααααααΆαααΎα (ααΌα αααααΆααα·αααααΆαα αααα»αααααα αα) αα·ααΈααααΆαααααΎααΆαααΆαα½α jOOQ ααΊααΆα’αααα αΆααααααΎαααΆαα½αααΉααααααααΆαααααΌαααααΆααα·αααααα (αααααα·αααααα) αα·ααααααααα αααΆαααΆαααααααΎαααΆαααΈααααααΎαααΌα jOOQ ααΎααααΈα±ααααα½αααΆααααα»αααααααΆαααααααααΆαα±ααααΆααΆαααααα’ααα α αΎααααααΆααααααααααααααα - αααα½ααα»ααααα·ααΆααα ααΆααααΆααΆαααΆαααααα
for (Record2<String, String> record : DSL.using(configuration)
// ^^^^^^^^^^^^^^^^^^^^^^^ ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ
Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π½Π°
// ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅
// Π½ΠΈΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ SELECT
.select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME)
// vvvvv ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°
.from(ACTOR)
.orderBy(1, 2)) {
// ...
}
ααΌαααααΌαααΆααααααΎαααααααα
ααΆααααα
ααααα·ααΆα α¬ααααααα
α―ααααα·ααΆαααΈαα½ααα ααΆα§ααΆα ααα ααΆααααααΎαα‘αΎααα·αααααααα’αΆα
ααΎαα‘αΎαααααΆαααααααΆααααΈαααα
ααΆααααααΎαααΌαααααα
ααΆαααααααα·ααααΆ αα»ααααααααα· αα·ααα»ααα·ααααα·αααααααααααΆααααααΉααα·ααΈααΆαααααααΆαααααα ααααααΆααααααΎαααΌα - ααααα αα αα·αααααααααααααα· - ααααααα»αααΉααα·ααα·ααΆααααΆαααα’α·ααα αααα»αα’ααααααααααα ααα»ααααααΆααΌαα α ααα»α ααΆααααΌαααααΌααααααΆααααααΎαααΊααΆααΆα’αα»ααααΆαα±ααααΎααααααΎαα‘αΎααα·ααα αααα»α Java ααΆ "ααΆααα·α" αααααΎαααα½ααααα·αααΆαα αααα»αααααααααααααααΎαα¬αα ααΆααααα ααΆα αααα»αααααα½α αααααΊααΆα’αααΈαααα’αααα αααααααααΎαα αααααααα½ααααααααΎα bytecode ααΌααααΆαααΈα α¬ααααααααΌαααααααααααααα - ααΎαααα½αααΆαααααΆααα "ααα ααααΈαα·α" ααααααΎαααΆααΆααΆαα½ααααααααα ααααα·ααα·αααΈα ααα»ααααΆααααΆααααΆαα½αα‘αΎαα
ααΆααααΆαααΈααααααΎαααΌαααααααααΆα
αααΎαα α§ααΆα ααα,
- ααΆαααα ααααΈαα·ααααα (ααΆααααα»α α¬ααΆααααα ) - α§ααΆα ααα ααΆααααααΆαα ααααΌαα·ααααααααα
- ααΎαααααΌαααΆαααααΆααααα»ααααααααααΆααα·αααααα αααα»αααΆααΆααααααααααα·ααΈααααααΎαα
ααΆαααααα ααα ααΆααΊαααααααααΌαααΆαααααΆαα±αααααααΎαααααΆααααααα ααΎααααΈαααααΆαααΆααααααααΌαααΆαααα αααα
ααααααα’ααααααααααααΆ αα·αααααΎαααΆαα αααΆα
α
αααΆαα αα·ααΈααΆααααααα½αααα ααααΎα αα·αααΆααααΆαααααα»αααΆααααααΎαααΌααααααΆαα jOOQ ααΊααααΎααααΆααα’ααααααααααααΆαααααα
αααα»αααααα½α ααΏαααΌα ααααΆααΎαα‘αΎααα ααΈααα ααΌα ααααΈααΈαα½α ααΎααααααα
- α’αααβαα·αβααΎαβααΌαβαααβααΆαβαααααΎαβαα (αααα ααβααΆβααααΆαααΆαβαααβα αΆααβααΌα βααΆβαα·αβααΌαβα αααααβα ααααβα’αααβααΆβααααΆαα?)
- α’αααααααΌαααααΆααΆααΆααααααα’αΆα ααααΌαααΆααααααα±αα αααααΊ "αα·α" ααααΌαααααΆαααΆαα·α αα α αααβααΆβααΆαβααΆαβαααα½αβαααα»αβααααΈ Lombok αααβααΆαβαααβααΆ "ααα ααααΈβαα·α"α ααΆααΆαααΆααααα»αααααΆαααααα·α ααΆαα½αααΉαααααΌααΌαααααΆααα·αααααα αααααΉαααα’ααααΎααΆααααααΆααααααααααΆαααααααΆαααΆαα·α αα α
ααΎααΆααααααΎαααΌαααΆααααα αΆα’αααΈ?
ααααααααΈααΎαααα½αααααααΆαα’αααΈαααααααααα’αααα»αααΎααααΈααααΎαααΆαααΆααααααΎαααΌα - ααααα α¬αααααααααααααααα· ααΎαααααααΌαααΎαα‘αΎααααααααΆ ααΆαααα»ααααααααΏααΆααΆααααααΎαααΌααα·αα αΆαααΆα αααΆαααααααα αα»αααα·αααααααααΆααααααααααα ααααααα»αααΆααα½ααααααααΉαααΆαααααα»α ααΊααΆαα ααααααααΆαα·ααΆααααα»αααΆααααα αααααααααα αΌααααααα ααΆα ααΆαα·αααΆαα·ααΆαααΆααα ααΆαα αααΆαααΎα αααααΆαα ααΆααααααααααααααααΎαα‘αΎαα ααααα·αααΎα’αααααΎαααα αΆααααααΎαααΆαα½αααΉαααα·αααααΆααααΆαααα½α (αα·αααΆααΆααΆ jOOQ α¬ JAXB α¬ Hibernate ααΆααΎα) ααΆααααααΎαααα·ααΆααΆαααα·αααααααααΌαααΆααααααααΆαααα’αααα ααα αααΆαααΎααααΈααα API ααααααα½αα―α ααΌα ααααα’αααα’αΆα ααΆααααααααααΈααΆααΆα .
ααααα·αααΎααΆαα αααΆαααΆααααααΉαααΆααααααΉαα’αααΈαα ααΆαααααααααααααααΆαααΈαααααΎαααΊαααααααα ααα API ααΆαααααΎαα·α αα ααΆααα·αααα’α ααααααΆαααααΎααααΆαααααααααΆαααΈααααααΎαααΌα (α αΎααααααααααΆαααα αΆαααΆααΆαααααΌαααΆαααααααααα’αααααααΎααααΆαααααα·ααΆαααα)α ααααααΆαααααΎααααΆαααα½αααααΆα’αΆαα·ααΆαααααααααα»ααααααΆαα API ααααααα ααα»αααααααααααΆααααααΆα’αΆαα»ααααααα½ααααααΆααααΉαααΆααααααΎαααΌαααα»αααααα ααΎαα·αααΌα αααααα ααΆααΊααΆααααα ααααΆαααααα»ααααα»αααΆααααααααααΆαααΌαααααΆαααααΆααα·αααΆααααα»α α¬ααΆααααα α
ααα»αααααΆα αααΎαααΉααα·ααΆαααΆ αα½ααααα·αααΆααααααΎααααΈααααΎααΏαααΆααα’αααααααα αα½ααααααα»αα’αααααααααααααααΆαα Super Product αααααα½αααα αα ααααααΆαα½α ααΎαααΉααααα αα§ααααααααα ααααα‘αΎα ααΎαααΉαααΆααααα αααα»αααΉαααααΎααα½αααα
ααα»αααααα αααα»α Hibernate/JPA ααΆααΆααααα½αααΆαααααα»αααΆααααααααΌα Java α
αα·αα αααααΆαα Hibernate αα·αα’αααααααΎααααΆααααααααΆ αααααΊααΆααααα αα·ααααααΆααΆα αα αααα»α Hibernate α’αααα’αΆα αααααααΆαα»ααΈααααΆαααΆααααααΌα αααα
@Entity
class Book {
@Id
int id;
String title;
}
α αΎαααααΎαααααΆααα’ααααΊαα½α ααΆααα α₯α‘αΌααααααΆα’αΆαααααααΎ Hibernate ααΎααααΈαααααΎα "ααααααΆααααα’α·α" αααα»αααααΆααααααααααα’αααααΆααααααΉαααααΌαααΆαααααααα αααα»α DDL αα SQL "ααααΆαααΆααΆ" ααααα’αααα
CREATE TABLE book (
id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
title VARCHAR(50),
CONSTRAINT pk_book PRIMARY KEY (id)
);
CREATE INDEX i_book_title ON book (title);
... α αΎαα αΆααααααΎαααααΎαααΆααααααα·ααΈα αα·αααΆα±ααΆαααααα’ααΎααααΈα αΆααααααΎααααΆαααΆαααα αα αα·αααΆαααααα’αααΈαααααααα
ααααααΆαααΆαααααααΌαα’αα»ααααΆαα αααα»αβααΆαβαα»α αα
- ααΎ Hibernate αα·αβααΆβα’αα»ααααβαα·αααααβααβαααααΉαβααααΆααβαααβααΆαβαααααβαααβα¬?
- ααΎ Hibernate ααΉααααααΎααα·αα·αααααααα»α TITLE αααα¬αα? - αααα»αααΉαα αααΆααααΆααΎαααΉαααααΌαααΆαααΆα
- ααΎ Hibernate ααΉαααααΎα±ααααΆααααααα’ααααααααΆααααααΉαααααααΆααα·αααααΆαααα αααα»αααΆααααααα’ααααααααΆααααα¬αα?
αααα ααααΆβαα·αα ααααα·αααΎα’ααααααα»ααααααΎαααααααααααα’αααααΆααααΈααααΌα ααΆαααααααΆααααα½ααααα»αααΆαααααααααΌαααααΆααα·ααααααα αΆαα α αΎααααααΎαααααΈαα½αααααΆαααα ααααααα’αααααααααα αααΆαααααααα αΆαααΆα αα ααΌα αααα α’αααααΆαααααα αα ααΈαααα»αααΉαααααααααα
@Entity
@Table(name = "book", indexes = {
@Index(name = "i_book_title", columnList = "title")
})
class Book {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
String title;
}
αααααΆααα αααααΎαα‘αΎααα·αα ααΆααααΈααααααααααα»αααααΈαααααΆααΉαααΆαααΆαααΆααααα½ααα αααα αΆααααααΎαα
ααα»ααααα’αααααΉαααααΌαα αααΆααααααΆααααΆαα αααααααα
αα·αααΌααα·αααΆαα α’αααααΉαααααΌαα αΌαααα·αααααα αααα αΎαααΆαααααααααΌααααααααΉααααααααΎαααΆαα αααααΆαααα
αα αααα»αααΆαααα·α ααΆααΉααα·αα’αΆα ααααΎαα ααΆααα ααααα·αααΎα αΆαααΆα α ααΎααααΈααααααααΌαααααΆααα·ααααααα αΆαα α αΎαα αΆααααααΎαααΈααααΌαα ααΌαααααΆααα·ααααααααααα’αααααΉαααααΆαααΆααααα
α
αΆααααΈααααααααα
αα·αααΆααααα αΌα α’αααααΉαααααΌαααααα
ααΌα αααααα ααααααα’αααα αΌααα αααα»αααα·αααααα’αααααΉαααααΌαααΆααααααααα α α αΎαβαα½αααβααααΌαβααΆααβα αΌαβαααα»αβααα·αααααβαααΆαβααΏαα αααααΆαα’ααααα·αααΆααααα α αα·ααα·αααΆααααα αααααααααα αΌααααααα±αααααΌαααααΆαααααΎα αααΆααααα»αααααα’ααααααααΆααααα·ααααα αααα’αααααααΎα’αααΈαααααααααΆααααΆαααααααααα α αΎααααααΆααααα’ααααααααΆααααααΎααααΈααααΎα’αααΈαααααααααΆαα±ααααΆαααααΉαααααΌαα α αΎαα’ααααα·αααα Hibernate αααααααΆαααααααΆααα α»αααααα’αααααα αα·ααααα’ααα...
αααα»ααα αα·α α’αααΈαα’αΆα ααααΌαααΆαααααΎαα»αααΈααΎαααΆαααααα»αα ααΆα§ααΆα ααα ααΆαααααααΌαααΎαααα
ααΌαααααΆααα·ααααααααααΌα
"ααα
ααααΈαα·α" αα·αααααΆαααα
αααα»ααααααααΆαααααΌαααααΆααα·ααααααααααα’ααα αα·α "α’αα·ααααααααΆα" ααΎααΆαααα·ααα
αααα»αααΌαααααΆααα·ααααααα αααααααΆαααααααΌαααΆαααααααααα
αααα»αααΌαααααΆααα·αααααααααα½αααΆααα»ααααα αα·αααααΆααααααααααααααααα α αΎαα’αα·αα·ααααΈαα½ααααΆαα
αααΆααα
αααααααααααααΆαααααα ααΌα
ααααααΆααα ααα»ααααα’α₯αααα
αααααα»αααΆαα’αα»ααααααΆαα’αα»αααααΆααααααααΆααα αα·ααα»α
αα·αααΆαααααααΆ ααΎααααΈααααΎααΆα±ααααααΉαααααΌααα
αααα»αααΌαααααΆααα·αααααα - αααααΆαααααααααααααααΆαααΊ αααααΆαα»αα
αααβααΊβα
αΆααβα αΎαβααΌααααΈβααβααααΆααααΆ hackneyed α ααααααΆαα αα·ααααα½ααααααΊααα’α αααααααααΊααα’α ααΆααααα½ααα·αα·αααααΆαααΉααααααΉαααΊααα’α
ααΎαααΈααααα ααα ααααα·ααααααΆααα’αααααααα ααΆα§ααΆα ααα αααααααΎ Oracle α’ααααααα ααααΆα αααααααΆααα
- ααΎααΆααΆαααααα’ααααααα·ααα ααΎαα»α’αααΈ?
- ααΎααααα PCTFRE ααααααΆααΊααΆα’αααΈ?
- ααΎααα αααααΆαααααααΆαααα αααα»αααααΆααααααα’αααααΊααΆα’αααΈ (αα ααΈαααααααααααααΆαα)
ααααααα ααααΆαα·αααααΆαααα αααα»αααααααααααΌα αα ααα»ααααα’ααααα·αα αΆαααΆα ααααα αΆααα αΌααααα’αααααααΆααααΈαα αααα»αα’αΆααΆα ααααα·ααααααααααααα - α’αααα’αΆα α αΆααααααΎαααα½αααΆαα’αααααααααααααΈααΆααααααΎαααααα·αααααΆαααα ααααα»ααααααααααααα’ααααααααΌα α’αααΈαααααΆααααααΆααααΆαααΎααΆααααααΆααα ααααΆα ORMs ααΆαα½αααααααα»αααΆαααΎααα (αα½αααΆαα jOOQ) αααααααΌαααΆαα αΌααα ααΆαααααα»ααααααααααααααΎα DDL αααα’ααααααα ααααΆα ααααααΎαα αααα»αααΌαααααΆααα·ααααααααααα’αααα ORMs αααααααΌαααΌαα§ααααααα½αα ααα½αααααα½αα’ααααααα»αααΆαααααα DDL α
ααα»αααααα α α»ααααα αααααααα ααααααΈαααααΆααα ααΆαααΆαααα’ααααΌαααΆααααααααααααα αααα»α DDL α DDL ααΆαα½ααααααΆααααααΎαααΊααααΆααααααΆααΆααααΆααααααΆαααααααΆααα»αααααα
α α»ααααΌαααα’αα·αα·αααα·α?
ααΌα αααααΆααααααΆααααΆαααΎαα ααΎαααΆαααΈααααααα’αααααΉαααααΌαααΆαα αααΆααα αααααααααααααΆαααααΌαααααΆααα·ααααααααααα’ααααα·αααααΆααααΆαααΈααααααα αα·αα αΆαααΆα ααα·ααΆααα αα·αααααΆαα’αα·αα·αααααααααΌααααααΈαααααΆααααααΆααΆαα½αααααΌαα·αα ααΎα’αααΈααΆαα·ααΈααα’αααα»αααΎααααΈαααααα ααΆαααΌαα ααα»α ααα? αααααααΎαααΆαααΈααααααΎαααΌαα
ααΌαααααΆααα·ααααααααΆααα’αααααααααααααΆαααααΆαααααα½αααααΆαααα SQL α αααααΆααααααααΆααΆαααΆααα’ααααΈααΌαααααΆααα·ααααααααααα’ααααααα»αααααΆαααΆααΆ SQL ααααααααααΆα
-- H2, HSQLDB, MySQL, PostgreSQL, SQL Server
SELECT table_schema, table_name
FROM information_schema.tables
-- DB2
SELECT tabschema, tabname
FROM syscat.tables
-- Oracle
SELECT owner, table_name
FROM all_tables
-- SQLite
SELECT name
FROM sqlite_master
-- Teradata
SELECT databasename, tablename
FROM dbc.tables
αααα½αααΆααααα (α¬ααααααααααΆ α’αΆαααααααΎααΆααΎα’αααααααααΌααα·α
αΆαααΆααΎαα·αααααΆα αα·αααααΆαααΆααααααα αα»αααΆαααΆααΆαααααα) ααααααΌαααΆαααααα·ααααα·αααααΆαα α
ααΌαααααα DatabaseMetaData.getTables()
ααΈαααααααααααα½ααααααα ααΆααΆαααΆαααΆααααα½ααααα»αααΆααααααΎαααααΆαααΆααΈα’αα·αα·ααααΆαα½αααααααΌααΌαααααΆααα·ααααααααααα’ααα ααααα·ααα·αααΈαα αα αααα·ααααΆα’αααΈαααα’αααααααΎαα ααΎαααΆαααΈααααααα
- ααααα·αααΎα’ααααααα»αααααΎ JDBC α¬ Spring α’αααα’αΆα αααααΎααααα»αααααααα’ααααααα
- ααααα·αααΎα’αααααααΎ JPA α’αααα’αΆα αααααΎαα’αααααΆαααααααα½αα―αα
- ααααα·αααΎα’αααααααΎ jOOQ α’αααα’αΆα αααααΎαααααΌααααΆ jOOQ
α’αΆαααααααΎαα»αααΆαααΆα
αααΎααααααααΌαααΆααααααααΌαααα API α’αα·αα·ααααααα’ααα (α§ααΆα ααα jOOQ α¬ JPA) ααααΌααααΆαααααΆααααααΎαα’αΆα
αα·αααΆαααααΌαααα αα·αααααααα ααα§ααΆα αααααααααΆαααααΆαα
αΌααα½αααααααααα,
α₯α‘αΌααααααΆααααααΎαααΌαααααΆααα·ααααααααΆαα½αααΉαααααΎαα αα α»ααααααααΆαααΌαα’αα·αα·αααααααααααααααααα·α αααααααΎαα§ααΆα αααα
ALTER TABLE book RENAME COLUMN title TO book_title;
ααΎα’ααααα·αααΆα ααααααΎααΆαααΆααααααΈααααα? αααα»αααααΈααΆααα αααααααΆααααα’αα»αααα DDL ααααΎαααΆαααΆααΆααααααααααααααΎαααααα’ααα α αΎαααα½αααΆαα’αααααΆααααααΆαααααΎαα αα α»ααααααααΆαα
@Entity
@Table(name = "book", indexes = {
// ΠΡ ΠΎΠ± ΡΡΠΎΠΌ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΠΈΡΡ?
@Index(name = "i_book_title", columnList = "book_title")
})
class Book {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
@Column("book_title")
String bookTitle;
}
α¬ααααΆαα jOOQ αααααΆαααααΎαα αα α»ααααααααΆαα ααΆαααααΆααααααΌα DDL ααΆαα αααΎαααααα₯αααα·ααααΎα’αααααα αα·αααααΉαααααΆαααααααααααααα»αααααααα ααΌα αααα ααΆα’αΆα ααΆααααααααααααα»αααΆαααααΎααα αααα»αααΌααααααΆαα ααααα ααΎααααΈααΎαααΆααΎααΌαα’αααΈααΉα (α¬α’αΆα ) αααααααααΆαααααααΆααααααΎαααΌαααααΆααα·ααααααααααα’αααα
ααΆααα·ααααα½αααα
αα·αααΆα’αααααααΎαα
αα
αααα·ααααΆααΆααααα ααΆαααααααΆαααααΌαα½ααααααΆαααααααααΆααα·ααααααΆαααααααααααααα½αα
ααα½α α¬αααΆαα αα
ααΆαα ααΎααα½ααααα·ααααααααΆααααΏαααα α αΎααααααΆαααΆαααΆααα
ααα‘ααααααα ααα "ααΆααα·α" ααΆααα
αααααααΈαααααα αα·αααααΆαααααααααΆαααα»αααααααα½αα . α’αααΈααααααααΆαα’αΆα
ααΆααααααΆααααα ααααα·αααΎα’αααααααΆααααααααΆααααααΌαα―αααΆα XML ααΆαα½ααααααααααααααααα ααααΆααααααααΎ XSD α ααΌααααα‘ααααΎα INFORMATION_SCHEMA ααααΌααααΆααΈ jOOQ αααα»ααααααα XMLα
- XSD ααααΌαααΆααααα αααΆαα
- XSD tokenizes ααΆαα·ααΆ XML ααΆααααΆαααα’α αΎαα’αα»ααααΆαα±ααααΆααα»ααααΆααα αααα»αααΆααΆα’αα·αα·ααααΆααα’ααα
- XSD ααΊβααΆαβααααβααααααβαααΆαβααα’ αα·αβααΆαβααΆαβααβααααΆβααβαααααβααααα·αβαααααβ
- XSD α’αΆα ααααΌαααΆααααααααα ααΆααΌα Java αααααααΎ XJC
α ααα»α α α»ααααααααΊααααΆααα αα αααααααΆααααααααΆαα½αααααααααααΆααααα αααααααΎααΆα XML ααΎαα ααααααΆααααΆααΆαααααααΎαααααΉαααααΌαα ααΆααΆααααα½αααΆαααααα»αααΆααααααα ααΆααααααααΎ JAXB, XJC αα·α XSD α ααΆααΆααΆααααα½ααααααααααα»αααΆααα·αααΆ ααΆαα½αααΉααα·ααΈααΆααααααα ααΆ "Java first" αααααΎααααααΎαααΆαααααααΎαααΆααααα» Java ααΆαα½αααα’αΆα ααααΌαααΆαααααααΎαααααΈαααΆααααΈαααααΆααααααΆαα ααΉα XML α αΎααααααΌααα αααααααααα½ααααααααααααααΆααααααΎααααΆααα XML ααααααααΎαααΆααα·ααΈαααααΉαααΆααα»αααΆαα’ααααααΆαα ααααΆαα―αααΆα αα·ααα·ααΆααααα»αααΆαα’αα·ααααα ααααα·αααΎααΆααα·α αα αααααααααααααα·αααααΆαααα (SLA) αααααΆααα ααα»α αααααΆαααααααα ααΎαααΉααααααααΆαααΆααααΆααα
αα·ααΆαααΆαααααα αααααΆα’αααΈαααααΎαα‘αΎαααααααααααΆαα½α JSON APIs ααα»αααααααααΆααΏααα½αααα αααα»αααΉααααααααααΆααΎαααααα...
ααΌαααααΆααα·ααααααα αα½αααααΊααΌα ααααΆα
αα αααααααΎααΆαααΆαα½αααΌαααααΆααα·αααααα α’αααααΉαααΆαα½αααΆααΆααα’ααααΌα ααααΆααΆααΌαααααΆαα ααΌαααααΆαααΆααααΆαααα·αααααααααααααα½α α αΎαααααΌαααααααααααααααααααΆαααα ααΆαααααααααΆαα½ααααααΆαααααΎα‘αΎαα αααααααααααΆαααααααΌαααααααΌαααΆαα’αα»αααααααααααΆαααα αααα»α DDL ααΌα αααααααααααααΆααα·ααααα½αααααΌαααΆαααααΎαα αα α»ααααααααΆαα
αα ααααααααΆαα’αΆααααααααααααΆαααΎαα‘αΎα α’αα·αα·ααααΆααα’ααααααΌαααααααΎαα αα α»ααααααααΆαα αααΆααα ααααααααααΌαααααα½ααααααααα α’αα·αα·αααα½αα ααα½αα’αΆα ααααΌαααΆααααααααΆ Java αααααααΎ jOOQ αα·α Hibernate α¬ JDBC (α¬ααΆααααΈα) α α’αα·αα·ααααααααααα’αΆα ααααΌαααΆαααααααα αααα»α Perl (ααΎαααααΆααααααΌαααα±αααα½αααααααΆαααα’) αααααααααα’αααααααααααα’αΆα ααααΌαααΆαααααααα αααα»α C# α ααΆαα·αααααΆααααα ααααΌααααΆααααΊαα αααα»αααΌαααααΆααα·ααααααα αααΌαααααααααααΎααααααααΎ ORMs ααΆααααααΆααΆααα»αααΆαα’αα α―αααΆααα·αααΌαααα’ αα·ααα·ααΆααααα»αααΆαα’αα·ααααα
ααΌα αααααα»αααααΎαα»αα αα»ααααααΎαααα α»αααΆααααΈααααΌαα ααααΎααΆαααΈααΌαααααΆααα·ααααααα αααααΎααααααααΆαααααααΆααααα’αΆα ααααΎαααΆααααααααααααααααα·α ααΎαααααΎαααΆααααΆαααΈααααααΎαααΌαααΎααααΈααααΎα±ααααΆααΆααααα½ααααα»αααΆαα ααααααααΌααΌαααααΆααα·ααααααααααα’ααα α αΎααααα ααααΆαα ααΎαααΆαααΈααααααα α αΎααααααΆααααα’αααΈαααΆαααΈααααααΎαααΌαα αα½αααβααα’α ααΆαα½ααα½αααα’αααααΉαααΆααααααΆαααα·αααΆαα α’αααααααΆααααααααΌαα αααΆααααααααα·α αααα»αααΆααααα αααΆααΆααααΈααααΌααα α αΎαααααααααααααααΆααααααΎαααα·αααΆαααΆα αααΎαααααΆααααα»ααααα αΆαα’ααα αααααΉααααααΎαααΆαααααααα·ααααααααααααα’αααα
αα»αβα’ααα»αβαααα»αβαα βαααβαααααα
ααΆααααααα
ααΎααααΈα±ααα αααΆααα α’αααααααααα·αααΆααα·ααΈααααΌααα·αααα’αααααααΌαααΆααααααααααααααΆααααΌα (α§. ααα αααααα·ααααΆα’αΆααΈαααααααα) ααΎααααΈα±ααααααΉαααααΌααΌαααααΆααα·ααααααααααα’αααα α’αααΈααααααα»ααααα»ααα·ααΆααα αααα»αα’ααααααααααΊααΆ ααΌαα’αα·αα·αααααααΆαα’ααααααααααΆαα½αααΌαααααΆααα·αααααααα½αααααααΎαααααααΆααα ααΎααΌαααααΆαααααααΌααΌαααααΆααα·αααααα ααΌα ααααααΆαα·ααααααΎαααααΌααΌαααααΆααα·ααααααα‘αΎααα·ααααα»αααααΆαααΆα "ααααΆααααααΌα" αααααα αααααα·ααααΆαααααΆααααααΆααΆαααΈααΆαααα αααααΆααα αΌαααααΎαα·αααααααα ααΎαααΆαααΈααααααααααα’αααα
αα αααα»αααααΆααααααααααΈαααααα·α ααααα ααααααΌαααΆααααααΆαα»ααα αααααααααα ααααΌααααααααααααααα’αΆα ααΆαααα½αααααααα’αΆα ααααΎαα ααΆαα ααααααΆαααΆααααα αα αααα»αααααααααααΆαα αααΎα αααααΆααα αΌαααααΎαα·ααααααα αΆααααΌα ααΆαααα»αααΆ "αααααααααα" αααααααααααΌαααααΌααΌαααααΆααα·ααααααα
ααααΈααΎαααα
ααΆαααααΈααΎααααα αααααααααα αααΆαα α αΎααααα»αααΆααα·ααΆααα½α ααα αΎαααΆ αα·ααΈααΆααααααααααΎαααΌαααααΌα αα·ααααααααΌα αααααααα’αΆα αα·αααααααα αααααΊααΆααααΈααΎαααααα½αα ααα½α (αααα ααααΆααΆααααααααα)α
- αα αααααααααααααΆααααα·αααααΌαααΆαααααΉαα αΎαα αΆαααΆα αααααΌαααααΎαα α§ααΆα ααα α’αααααΊααΆα’ααααααααα§αααααααααα½αα’αααααααΎααααΆαααα»αααααααΆααααΆαααΆαα½αα α’α»αα αα·αααΆαααΆααααααΎαααΌααα ααΈαααααα ααα»αααααα αα ααΌαααααΆααα·αααααααααα»αααα
- αα
ααααααααααααΈααααΌααααααααΎαααααΆααααΎααααΈαααααααΆααααα αΆαα½αα
ααα½αα α§ααΆα αααβαααβα αΆααβααΌα
βααΆβααααβααβααααα·αβααααα·α
βααβααααΌ
ααααααα»αααααααα’αααααΆα α§. α’ααααα·αααΆαα·αααΆααααααααΆααααααααΆααααααα αααΆααααΆααααα αααα»αααααΈααα ααΆααΏααα’ααααα·αα’αΆα ααααΆααααΆ RDBMS ααΉαααααΉαα’ααααααααα
ααααΈααΎααααααΊαααααααααΆαα·α αααα»αααααΈααΆαα
αααΎααααααΆαααααααααΉαααΆαααααΎααααΆαα RDBMS αααααααΆαααααααΌαααΆαααααΉαααΆαα»α ααΆαααα·ααα
αααα»α RDBMS αα·αααΆααααααααα½αααααα "ααΆααα·α" α αΎαα’αα·αα·ααααΆααα’ααααααΌαααααα½αααΆαα
αααΆααα
αααααααααΆαααααΈααΆα ααΆαα§ααααααα·α’αααααααΌαααααΎαααΆαααΈααααααΎαααΌαα
ααααα: www.habr.com