ההבדל בין @Size, @Length ו- @Column (אורך = ערך)

1. סקירה כללית

במדריך מהיר זה, נסתכל על JSR-330 @גודל, שינה @אורך ו- JPA @טורשל אורך תְכוּנָה.

בהתחלה מסמיק, אלה אולי נראים זהים, אך הם מבצעים פונקציות שונות. בואו נראה איך.

2. מקורות

במילים פשוטות, כל ההערות הללו נועדו לתקשר בגודל של שדה.

@גודל ו @אורך דומים. אנו יכולים להשתמש באחד מהם כדי לאמת את גודל השדה. הראשון הוא הערה סטנדרטית של Java והשני ספציפי למצב שינה.

@טורעם זאת, היא הערה של JPA בה אנו משתמשים כדי לשלוט בהצהרות DDL.

עכשיו, בואו נעבור על כל אחד מהם בפירוט.

3. @גודל

לצורך אימות, נשתמש @גודל, הערת אימות שעועית. בואו נשתמש בנכס שם אמצעי ביאור עם @גודל כדי לאמת את ערכו בין התכונות דקה ו מקסימום:

משתמש בכיתה ציבורית {// ... @Size (min = 3, max = 15) private String middleName; // ...}

הכי חשוב, @גודל הופכת את השעועית לבלתי תלויה ב- JPA וספקיה כגון Hibernate. כתוצאה מכך, זה נייד יותר מ- @אורך.

4. @אורך

וכפי שאמרנו זה עתה, @אורך היא הגרסה הספציפית למצב שינה @גודל. בואו לאכוף את הטווח עבור שם משפחה באמצעות @אורך:

משתמש בכיתה ציבורית @Entity {// ... @Length (min = 3, max = 15) שם משפחה פרטי מחרוזת; // ...}

5. @Column (אורך = ערך)

@טורעם זאת, הוא שונה לגמרי.

נשתמש @טור ל לציין מאפיינים ספציפיים של עמודת מסד הנתונים הפיזי. בואו נשתמש ב- אורך תכונה של @טור ביאור כדי לציין את אורך העמודה בעל ערך המחרוזת:

משתמש בכיתה ציבורית @Entity {@Column (אורך = 3) פרטי מחרוזת שם פרטי; // ...}

כתוצאה מכך, העמודה שהתקבלה תיווצר כ- VARCHAR (3) וניסיון להוסיף מחרוזת ארוכה יותר יביא לשגיאת SQL.

שים לב שנשתמש @טור רק כדי לציין מאפייני עמודות טבלה מכיוון שהוא אינו מספק אימות.

כמובן, אנחנו יכולים להשתמש @טור ביחד עם @גודל כדי לציין מאפיין עמודת מסד נתונים עם אימות שעועית.

משתמש בכיתה ציבורית @Entity {// ... @Column (אורך = 5) @Size (min = 3, max = 5) עיר מחרוזת פרטית; // ...}

6. מסקנה

במכתב זה למדנו על ההבדלים בין @גודל ביאור, @אורך ביאור ו @טורשל אורך תְכוּנָה. בדקנו כל אחד בנפרד בתחומי השימוש בהם.

כמו תמיד, קוד המקור המלא של הדוגמאות זמין באתר GitHub.


$config[zx-auto] not found$config[zx-overlay] not found