בשפת התכנותג'אווה,POJO (פּוֹג'וֹ) הםראשי תיבות שלPlain Old Java Object (בתרגום חופשי:אובייקט ג'אווה פשוט, "ישן וטוב"). המושג משמש כדי להדגיש שאובייקט מסוים הוא אובייקט רגיל של ג'אווה, ולא סוג מיוחד כלשהו של אובייקט.
המושג POJO משמש בעיקר כדי לתאר אובייקט ג'אווה שאינו מוגדר בהתבסס על שום מודל אובייקטים, קונבנציה, אותשתית תוכנה גדולה. ככל הנראה, השימוש במושג הפך מקובל בגלל הצורך במושג נפוץ וקל להבנה, כדי להבחין בין אובייקטים רגילים לאובייקטים מורכבים של תשתיות תוכנה.
JavaBean הואמקרה פרטי של POJO, העונה על שלושת הכללים הבאים: האובייקט ניתן לסריאליזציה, יש לוקונסטרקטור שלא מקבל ארגומנטים, והוא מאפשר גישה למשתני המחלקה באמצעותמתודות get ו-set הנקראות על פי קונבנציה פשוטה למתן שמות.
באופן אידיאלי, POJO הואאובייקט ג'אווה שאינו מוגבל על ידי שום כלל חוץ מאלה הנאכפים על ידי המפרט של שפת ג'אווה עצמה. POJOלא אמור להיות מחויב לאף אחד מהבאים:
עם זאת, בגלל קשיים טכניים ומסיבות אחרות,תשתיות ומוצרי תוכנה רבים המתוארים כמותאמים לעבודה עם POJOs, בכל זאת דורשים שימוש באנוטציות שהוגדרו מראש, על מנת שאפשרויות כמוpersistence יעבדו כנדרש.
את המושג טבעומרטין פאולר, רבקה פרסונס וג'וש מקנזי בספטמבר 2000:
תהינו מדוע אנשים כל כך התנגדו להשתמש באובייקטים רגילים במערכות שלהם, והגענו למסקנה שהסיבה לכך היא שלאובייקטים פשוטים היה חסר שם מהודר. אז נתנּו להם אחד, והוא תפס יפה מאוד.
POJO ממשיך את התבנית של מושגים ישנים יותר לתיאורטכנולוגיות שאינן משתמשות במאפיינים חדשים ומיוחדים, כגון: