新しいJava永続化ツールについてどう思いますか。それは実際にはORMではありませんか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 Javaでの永続性 過去数年にわたって、EJB 2.0、Hibernate、JPA、および自家製の概念などを使用して、Javaの永続性抽象化の分野での経験を集めてきました。彼らは、急な学習曲線と多くの複雑さを持っているように思えました。さらに、SQLの大ファンとして、多くの抽象化モデルがSQLを抽象化しすぎて、SQLではなく非常に優れた概念である「基準」、「述語」、「制限」などの概念を作成すると考えました。 Javaでの永続性抽象化の一般的な考え方は、RDBMSがオブジェクト指向の世界と何らかの形で一致するオブジェクトリレーショナルモデルに基づいているようです。ORM討論は常に感情的なものでした。すべての人に適した単一の解決策は存在しないようです。そのような解決策が存在する可能性があるとしてもです。 jOOQ ORM関連の問題を回避する方法の個人的な好みは、リレーショナルの世界に固執することです。データモデルのパラダイムの選択は、個人的な好みであるため、または具体的な問題に最適なデータモデルの問題であるため、議論のトピックではありません。私が始めたいと思う議論は、jOOQと呼ばれる私自身の永続化ツールに関するものです。私はjOOQを設計して、最新の永続化ツールが持つ利点のほとんどを提供します。 SQLに基づくドメイン固有言語 基礎となるデータベーススキーマをJavaにマッピングするソースコード生成 多くのRDBMSのサポート いくつかの最新の永続化ツールにあるいくつかの機能を追加します(間違っている場合は修正してください): 複雑なSQLのサポート-ユニオン、ネストされた選択、自己結合、エイリアス、ケース節、算術式 非標準SQLのサポート-ストアドプロシージャ、UDT、ENUMS、ネイティブ関数、分析関数 詳細については、ドキュメントページhttp://www.jooq.org/learn.phpをご覧ください。LinqはSQL専用に設計されているわけではありませんが、Linq for C#に非常によく似たアプローチが実装されていることがわかります。 質問 さて、私はSQLの大ファンだと言って、他の開発者がjOOQ(またはLinq)に対する私の熱意を共有するかどうか疑問に思います。永続性抽象化へのこの種のアプローチは実行可能なものですか?あなたが見るかもしれない利点/欠点は何ですか?どうすればjOOQを改善できますか?また、あなたの意見には何が欠けていますか?概念的または実際的にどこで間違ったのですか? 批判的だが建設的な答えを高く評価 議論は感情的なものであることを理解しています。すでに同様のことを行う多くの素晴らしいツールがあります。私が興味を持っているのは重要ですが、あなた自身の経験や読んだ記事に基づいた建設的なフィードバックです。