• <bdo id='SGr3R'></bdo><ul id='SGr3R'></ul>

    <i id='SGr3R'><tr id='SGr3R'><dt id='SGr3R'><q id='SGr3R'><span id='SGr3R'><b id='SGr3R'><form id='SGr3R'><ins id='SGr3R'></ins><ul id='SGr3R'></ul><sub id='SGr3R'></sub></form><legend id='SGr3R'></legend><bdo id='SGr3R'><pre id='SGr3R'><center id='SGr3R'></center></pre></bdo></b><th id='SGr3R'></th></span></q></dt></tr></i><div id='SGr3R'><tfoot id='SGr3R'></tfoot><dl id='SGr3R'><fieldset id='SGr3R'></fieldset></dl></div>

        <tfoot id='SGr3R'></tfoot>
        <legend id='SGr3R'><style id='SGr3R'><dir id='SGr3R'><q id='SGr3R'></q></dir></style></legend>
      1. <small id='SGr3R'></small><noframes id='SGr3R'>

      2. 在使用 JPA 映射类时,为什么有人要在 getter 或

        时间:2023-07-26

        1. <tfoot id='yxQyJ'></tfoot>
            • <bdo id='yxQyJ'></bdo><ul id='yxQyJ'></ul>
              • <i id='yxQyJ'><tr id='yxQyJ'><dt id='yxQyJ'><q id='yxQyJ'><span id='yxQyJ'><b id='yxQyJ'><form id='yxQyJ'><ins id='yxQyJ'></ins><ul id='yxQyJ'></ul><sub id='yxQyJ'></sub></form><legend id='yxQyJ'></legend><bdo id='yxQyJ'><pre id='yxQyJ'><center id='yxQyJ'></center></pre></bdo></b><th id='yxQyJ'></th></span></q></dt></tr></i><div id='yxQyJ'><tfoot id='yxQyJ'></tfoot><dl id='yxQyJ'><fieldset id='yxQyJ'></fieldset></dl></div>
                  <legend id='yxQyJ'><style id='yxQyJ'><dir id='yxQyJ'><q id='yxQyJ'></q></dir></style></legend>
                    <tbody id='yxQyJ'></tbody>
                • <small id='yxQyJ'></small><noframes id='yxQyJ'>

                  本文介绍了在使用 JPA 映射类时,为什么有人要在 getter 或 setter 上添加注释?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  主题说明了一切......到目前为止,我认为人们在 getter 和/或 setter 上声明注释没有任何优势.对我来说,这只是将注释分散到类中的缺点,这会使类更不可读.

                  Subject says it all... I see no advantage of people declaring annotations on the getters and/or setters so far. For me this only has the disadvantage of spreading the annotations over the class, which can make the class more unreadable.

                  在字段上添加注释明显减少了需要帮助时发布的代码量.不过,这只是一个很小的优势.但是在方法上添加注释对我来说毫无用处.

                  Putting the annotations on the fields clearly reduces the amount of code to post when needing help. This is just a tiny advantage though. But putting annotations on methods would serve no purpose to me.

                  推荐答案

                  在方法上添加注释会强制 JPA 通过方法访问属性.当对象的内部状态与数据库模式不同时,这是有意义的:

                  Putting annotations on methods forces JPA to access properties via methods. It makes sense when internal state of your object differs from the database schema:

                  @Entity
                  public class Employee {
                      private String firstName;
                      private String lastName;
                  
                      @Column(name = "EMP_NAME") // Due to legacy database schema
                      public String getName() {
                          return fisrtName + " " + lastName;
                      }
                  
                      public void setName(String name) {
                          ...
                      }
                  
                      ... Getters and setters for firstName and lastName with @Transient ...
                  }
                  

                  在 JPA 2.0 中,您可以使用 @Access 在细粒度级别指定访问类型:

                  In JPA 2.0 you can specify access type at fine-grained level with @Access:

                  @Entity @Access(AccessType.FIELD)
                  public class Employee {
                      @Access(AccessType.PROPERTY) @Column(name = "EMP_NAME")
                      public String getName() { ... }
                      ... other properties have field access ...
                  }
                  

                  这篇关于在使用 JPA 映射类时,为什么有人要在 getter 或 setter 上添加注释?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:Java 注释 下一篇:PostgreSQL 枚举和 Java 枚举之间的休眠映射

                  相关文章

                  最新文章

                • <small id='LPfGG'></small><noframes id='LPfGG'>

                • <i id='LPfGG'><tr id='LPfGG'><dt id='LPfGG'><q id='LPfGG'><span id='LPfGG'><b id='LPfGG'><form id='LPfGG'><ins id='LPfGG'></ins><ul id='LPfGG'></ul><sub id='LPfGG'></sub></form><legend id='LPfGG'></legend><bdo id='LPfGG'><pre id='LPfGG'><center id='LPfGG'></center></pre></bdo></b><th id='LPfGG'></th></span></q></dt></tr></i><div id='LPfGG'><tfoot id='LPfGG'></tfoot><dl id='LPfGG'><fieldset id='LPfGG'></fieldset></dl></div>

                      <bdo id='LPfGG'></bdo><ul id='LPfGG'></ul>

                      <tfoot id='LPfGG'></tfoot>

                    1. <legend id='LPfGG'><style id='LPfGG'><dir id='LPfGG'><q id='LPfGG'></q></dir></style></legend>