温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hibernate元数据怎么使用XDoclet标记

发布时间:2021-12-04 17:32:55 来源:亿速云 阅读:114 作者:iii 栏目:编程语言

这篇文章主要介绍“Hibernate元数据怎么使用XDoclet标记”,在日常操作中,相信很多人在Hibernate元数据怎么使用XDoclet标记问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate元数据怎么使用XDoclet标记”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.Hibernate元数据 使用 XDoclet 标记

很多Hibernate使用者更喜欢使用XDoclet@hibernate.tags将映射信息直接嵌入到源代码中。我们不会在本文档中涉及这个方法,因为严格说来,这属于XDoclet的一部分。然而,我们包含了如下使用XDoclet映射的Cat类的例子。

package eg;  import java.util.Set;  import java.util.Date;   /**   * @hibernate.class   *  table="CATS"  */  public class Cat {      private Long id; // identifier      private Date birthdate;      private Cat mother;      private Set kittens      private Color color;      private char sex;      private float weight;       /*       * @hibernate.id       *  generator-class="native"      *  column="CAT_ID"      */      public Long getId() {          return id;      }      private void setId(Long id) {          this.id=id;      }       /**       * @hibernate.many-to-one       *  column="PARENT_ID"      */      public Cat getMother() {          return mother;      }      void setMother(Cat mother) {          this.mother = mother;      }       /**       * @hibernate.property       *  column="BIRTH_DATE"      */      public Date getBirthdate() {          return birthdate;      }      void setBirthdate(Date date) {          birthdate = date;      }      /**       * @hibernate.property       *  column="WEIGHT"      */      public float getWeight() {          return weight;      }      void setWeight(float weight) {          this.weight = weight;      }       /**       * @hibernate.property       *  column="COLOR"      *  not-null="true"      */      public Color getColor() {          return color;      }      void setColor(Color color) {          this.color = color;      }      /**       * @hibernate.set       *  inverse="true"      *  order-by="BIRTH_DATE"      * @hibernate.collection-key       *  column="PARENT_ID"      * @hibernate.collection-one-to-many       */      public Set getKittens() {          return kittens;      }      void setKittens(Set kittens) {          this.kittens = kittens;      }      // addKitten not needed by Hibernate      public void addKitten(Cat kitten) {          kittens.add(kitten);      }       /**       * @hibernate.property       *  column="SEX"      *  not-null="true"      *  update="false"      */      public char getSex() {          return sex;      }      void setSex(char sex) {          this.sex=sex;      }  }

参考Hibernate网站更多的Xdoclet和Hibernate的例子

2. Hibernate元数据使用 JDK 5.0 的注解(Annotation)

JDK 5.0 在语言级别引入了 XDoclet 风格的标注,并且是类型安全的,在编译期进行检查。这一机制比XDoclet的注解更为强大,有更好的工具和IDE支持。例如, IntelliJ IDEA,支持JDK 5.0注解的自动完成和语法高亮 。EJB规范的新修订版(JSR-220)使用 JDK 5.0的注解作为entity beans的主要元数据(metadata)机制。

Hibernate 3 实现了JSR-220 (the persistence API)的EntityManager,支持通过Hibernate Annotations包定义映射元数据。这个包作为单独的部分下载,支持EJB3 (JSR-220)和Hibernate3的元数据。

这是一个被注解为EJB entity bean 的POJO类的例子

@Entity(access = AccessType.FIELD)  public class Customer implements Serializable {       @Id;      Long id;       String firstName;      String lastName;      Date birthday;       @Transient      Integer age;       @Embedded      private Address homeAddress;       @OneToMany(cascade=CascadeType.ALL)      @JoinColumn(name="CUSTOMER_ID")      Set<Order> orders;       // Getter/setter and business methods  }

到此,关于“Hibernate元数据怎么使用XDoclet标记”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI