快速业务通道

精通Grails: Grails与遗留数据库 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
(10) 时间:2011-07-29 IBM Scott Davis

再次启动 EJB3 注释的 Java 文件。将清单 14 展示的 AirportAnnotation.java 置于 src/java/org.davisworld.trip 中,紧挨着 AirportHbm.java 文件:

清单 14. AirportAnnotation.java

package org.davisworld.trip; import javax.persistence.*; @Entity @Table(name="usgs_airports") public class AirportAnnotation {   private long id;   private String name;   private String iata;   private String state;   private String lat;   private String lng;   @Id   @Column(name="airport_id", nullable=false)   public long getId() {    return id;   }   @Column(name="airport_name", nullable=false)   public String getName() {    return name;   }   @Column(name="locid", nullable=false)   public String getIata() {    return iata;   }   @Column(name="state", nullable=false)   public String getState() {    return state;   }   @Column(name="latitude", nullable=false)   public String getLat() {    return lat;   }   @Column(name="longitude", nullable=false)   public String getLng() {    return lng;   }   // The setter methods don''t have an annotation on them.   // They are not shown here, but they should be in the file   //  if you want to be able to change the values. }

精通Grails: Grails与遗留数据库(11)

时间:2011-07-29 IBM Scott Davis

注意,一定要导入文件顶部的 javax.persistence 包。@Entity 与 @Table 注释了类声明,将它映射 到了适当的数据库表中。其他的注释位于每一个字段的 getter 方法之上。所有的字段都应该有 @Column 注释,它将字段名映射到列名。主键也应该有一个 @ID 注释。

清单 15 中的 AirportAnnotationConstraints.groovy 文件与前面清单 10 中的例子没什么不同:

清单 15. AirportAnnotationConstraints.groovy

package org.davisworld.trip static constraints = {   name()   iata(maxSize:3)   state(maxSize:2)   lat()   lng() }

AirportAnnotationController.groovy(清单 16 中所展示的)是按照通常的方式搭建的:

清单 16. AirportAnnotationController.groovy

import  org.davisworld.trip.AirportAnnotation class AirportAnnotationController {   def scaffold = AirportAnnotation }

hibernate.cfg.xml 文件再次开始其作用。这回,语法有点不同。您直接将它指向类,而不是指向一 个 HBM 文件,如清单 17 所示:

清单 17. hibernate.cfg.xml

<?xml version=''1.0'' encoding=''utf-8''?> <!DOCTYPE hibernate-configuration PUBLIC      "-//Hibernate/Hibernate Configuration DTD 3.0//EN"      "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration>    <session-factory>      <mapping resource="AirportHbm.hbm.xml"/>      <mapping class="org.davisworld.trip.AirportAnnotation"/>    </session-factory> </hibernate-configuration>

要让注释开始生效,还需要做最后一件事。Grails 并不是本来就被设置成可以查找 EJB3 注释的。而

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号