java中对象模型与数据库中的关系模型

实体类还需要配置到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

  1. # 在Hibernate中声明用@注解配置的实体类  
  2. <mapping class="com.helloweenvsfei.hibernate.bean.Department" />  
  3. <mapping class="com.helloweenvsfei.hibernate.bean.Employee" />  
  4.  
  5. # 在Hibernate中声明用XML配置的实体类  
  6. <mapping resource="com/helloweenvsfei/hibernate/bean/Event.hbm.xml" />  
  7. <mapping resource="com/helloweenvsfei/hibernate/bean/Cat.hbm.xml" /> 

你可能感兴趣的:(java)