A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

实体类还需要配置到hibernate.cfg.xml中,以便Hibernate初始化实体类与数据库表的映射关系。如果只配置了映射关系,而没有配置到hibernate.cfg.xml中,Hibernate仍然不会知道哪些类是实体类,因为Hibernate无法通过遍历所有的类来决定哪些是实体类。
  a.如果实体类是使用@注解配置的,需要用<mapping class=""/>配置,这样他们的对应关系在实体类上面已经使用了相应的注解,如:
  @Entity
  @Table(name = "product_attribute")
  public class ProductAttribute {
  @Id
  @GeneratedValue( strategy = GenerationType.AUTO)
  private Integer id;
  @ManyToOne(cascade = CascadeType.MERGE)
  @JoinColumn(name = "productId")
  private ProductInfoEntity productInfo;
  @ManyToOne(cascade = CascadeType.MERGE)
  @JoinColumn(name = "pro_attr_metaId")
  private ProductAttributeMetaEntity productAttributeMeta;
  @Column(name = "value")
  private String value;
  b.而如果是用XML文件配置的,则需要用<mapping resource=""/>配置XML配置文件。如:同时每一个对象模型(实体)都应有自己的配置文件,命名为:实体名。hbm.xml,最后将   实体名。hbm.xml引入到hibernate.cfg.xml配置文件中
  c.代码hibernate.cfg.xml
  # 在Hibernate中声明用@注解配置的实体类
  <mapping class="com.helloweenvsfei.hibernate.bean.Department" />
  <mapping class="com.helloweenvsfei.hibernate.bean.Employee" />
  # 在Hibernate中声明用XML配置的实体类
  <mapping resource="com/helloweenvsfei/hibernate/bean/Event.hbm.xml" />
  <mapping resource="com/helloweenvsfei/hibernate/bean/Cat.hbm.xml" />

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马