当前位置:编程学习 > JAVA >>

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
 
# 在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" /> 
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,