ORM(Object Relational Mapping)に関する文章を読んでいると、しばしば "transparent persistence" という表現に出くわします。
日本語に訳すと「透過的永続性」あたりでしょうか。
訳したところでいまいち意味がわかりません。
transparent persistence をググってみると、「transparent persistenceについて」「transparent persistenceって何」みたいな英語の記事がたくさんヒットします。どうやら非英語話者にとっての英語の難しさというよりは、日常的な表現とは異なる独特の慣習的な表現としての難しさがあるようです。
実は情報工学において transparency (透過性) という語は「ユーザーが意識することがない」という意味で広く用いられています。
それを踏まえると、 transparent persistence は「ユーザーが意識することなく永続化が行われること」ぐらいの意味かなと推測することができます。
実際のところ transparent persistence が何を表すのかについては、 stack overflow の以下の回答が簡潔でわかりやすかったので引用します。
In the context of an ORM what is Transparent Persistence?
What it means is that the database is abstracted away from your application so much, that the concepts of "saving" to the database doesn't show up on the highest levels.
In other words, your application would set data on an business object, and somewhere deep down below, in a lower layer, that would be saved, but automatically. Transparently.
transparent persistence とは何か。それは、
「データベースが十分に抽象化されていてアプリケーションと分離しており、データベースに「保存する」という概念が表面的なところには現れてこないということ。言い換えれば、ビジネスオブジェクトにデータをセットしたら、より深い低レベルなレイヤーでそれが自動的に、つまり透過的に、保存されるということ。」
です。
そしてこの回答者の方は、アプリケーションとデータベースの分離というのは、いわゆる「聖杯」、つまり追い求められるけど決して手に入らない理想であるとまとめています。これには残念ながら頷くしかありません。
ちなみに直接関係はありませんが、関数型言語の文脈でよく出てくる referential transparency (参照透過性) という、これまたちょっと戸惑う用語がありますが、この語は実は分析哲学と絡む経緯があるようで、以下の記事が面白かったので興味がある方はぜひ読んでみてください。