オンラインでSQLをエンティティクラスに変換できるツール。CREATE TABLE文をC#やJavaのクラスに変換できる。
PHPコードフォーマッター
SQL to Entity について
CREATE TABLE 文を解析し、ORM ですぐに使える C# または Java のエンティティクラスを生成します。テーブル名、各列の名前/型/NULL 可否/主キーフラグを抽出し、SQL 型を各言語の型にマッピングし、CONSTRAINT/PRIMARY KEY/FOREIGN KEY/INDEX/CHECK 句をスキップし、プロパティに適切なデータ注釈または JPA アノテーションを付与します。
使い方
1. CREATE TABLE 文を SQL 入力欄に貼り付けます。 2. ターゲット言語として C# または Java を選択します。 3. 変換をクリックすると、出力欄にエンティティクラスが生成されます。 4. コピーボタンで生成されたクラスをコピーします。
生成されるアノテーションと型マッピング
C#: 主キー列には [Key]、非 null 値型プロパティには [Required] を付与(string/byte[] はスキップ)。プロパティ名は PascalCase で、広範な型マップ(int, long, decimal, bool, DateTime, Guid, byte[] など)を提供します。Java: @Entity/@Table(name=...) を生成し、主キーには @Id、全フィールドには @Column(name=..., nullable=...) を付与。プライベートフィールドは camelCase で、完全な getter/setter ペアを提供します。SQL 型はルックアップ前に長さと括弧を削除して正規化されます。
▶どの SQL 方言に対応していますか?
列が括弧内に列挙された CREATE TABLE であれば任意のものに対応します。角括弧識別子([Name])、バッククォート、二重引用符、VARCHAR(50) のような長さ指定も許容され、CONSTRAINT/PRIMARY KEY/FOREIGN KEY/INDEX/KEY/CHECK 句はスキップされます。
▶未知の SQL 型はどのように扱われますか?
組み込みマップに存在しない型は、デフォルトで string(C#)または String(Java)になります。ルックアップ前に長さ部分が削除されるため、VARCHAR(255) は VARCHAR として扱われ String にマッピングされます。
▶なぜ string プロパティには [Required] がないのですか?
C# 出力では、[Required] は非 null 値型にのみ付与されます。string や byte[] などの参照型はスキップされます。.NET ランタイムは非 null 参照型をデータ注釈ではなくコンパイラ注釈で扱うためです。
▶Java 出力に getter と setter は含まれますか?
はい。マッピングされた各列は @Column アノテーション付きのプライベート camelCase フィールドと、対応する public getPascalCase()/setPascalCase() ペアを生成するため、Hibernate や Spring Data でそのまま使用できます。
このツールがあなたに役立ったなら、私にコーヒーをご馳走することをお勧めします。
私にコーヒーを買ってください。