рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ


рдЖрдЬ рдореИрдВ рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рд╡рд╣ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рдЦреЗрддреЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реИред рдмреЗрд╢рдХ, рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреА рдорджрдж рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирдореВрдирд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ; рдХрд┐рд╕реА рдХреЛ рднреА рдХрдИ рдХреЙрд▓рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЙрдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рддреЛ, рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд▓реЗрдЦрд╛рдВрдХрди рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рднреА рдЗрдХрд╛рдИ рдореЗрдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдХрд┐рд╕рдиреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛, рдХрд┐рд╕рдиреЗ рдмрдирд╛рдпрд╛, рдХрдм рдЕрдВрддрд┐рдо рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП, рдХрд┐рд╕рдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдк рд╕рдорд╛рди рд╕реЗрдЯ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирд╣реАрдВред рдирддреАрдЬрддрди, рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рдПрдХ рд╣реА рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдирдП рдирд╛рдо рдкреИрджрд╛ рд╣реЛрддреЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛


рдпрд╣ рд╕рдорд╕реНрдпрд╛ @Embeddable рдирд┐рдХрд╛рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

package ru.kabit.entity.embeded; import javax.persistence.Embeddable; import java.util.Date; @Embeddable public class HistoryFields { private Long lastModifierId; private Long creatorId; private Date lastModifyDate; private Date createDate; /* getters and setters */ } 

рд╣рдо рдлрд╝реАрд▓реНрдб рд╕реЗ рдлрд╝реАрд▓реНрдб рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рдПрдХ рдПрдВрдмреЗрдбреЗрдб рдкреНрд░реЙрдкрд░реНрдЯреА рдбрд╛рд▓реЗрдВред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдирд╛ рдФрд░ рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреЗрдЯреНрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХреНрд╕рдПрдордПрд▓, рдЬреЗрдПрд╕рдкреА рдореЗрдВ рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
 package ru.kabit.entity; import ru.kabit.entity.embeded.HistoryFields; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Post { @Id @GeneratedValue private Long id; @Embedded private HistoryFields historyFields; /* getters and setters */ } 

рдЕрдЧрд░ HistoryFields рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдлрд╝реАрд▓реНрдб рднрд░рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ HistoryFields рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рднрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд╢рдХреНрдд рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐, рддрд░реНрдХ рд▓рд┐рдЦрддреЗ рд╕рдордп рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреЗ рдирд╛рдо рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди @AttributeOverride рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд╛рдн :

рдиреБрдХрд╕рд╛рди :

рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛


рджреВрд╕рд░рд╛ рдЙрдкрд╛рдп @MappedSuperclass рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:
 package ru.kabit.entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.MappedSuperclass; import java.util.Date; @MappedSuperclass public class HistoryEntity { @Id @GeneratedValue private Long id; private Long lastModifierId; private Long creatorId; private Date lastModifyDate; private Date createDate; /* getters and setters */ } 

рдЕрдм рдЦреЗрддреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╣реИ, рдФрд░ рдЬрдм рд╣рдо рдПрдХ рд╕рдорд╛рди рд╕реЗрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдмрд╕ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
 package ru.kabit.entity; import javax.persistence.Entity; @Entity public class Table1 extends HistoryEntity { private Long otherFieldTable1; public Long getOtherFieldTable1() { return otherFieldTable1; } public void setOtherFieldTable1(Long otherFieldTable1) { this.otherFieldTable1 = otherFieldTable1; } } 

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд╛рдн :

рдиреБрдХрд╕рд╛рди :

рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВрдиреЗ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рдЦреЗрддреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рдмрд╛рд░-рдмрд╛рд░ рд╡рд░реНрдгрди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд▓рдЧрд╛ рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/In180703/


All Articles