我只会在一个类上指定对应一个表,怎样灵活控制某个实体类对应的表? 比如传递某个参数,它就存某个表里去了~~我用的是注解~~~! 谢谢各位指教!!

解决方案 »

  1.   

    你要使用映射机制
    一对一、一对多、多对一、多对多、双向多对一....给你一个一对多的代码
    在一的一方添加
     <!-- 一对多 -->
            <set name="jds" lazy="false">
             <key column="qxId" />
             <one-to-many class="com.andy.ssh2.beans.Jd"/>
            </set>
    jds 是在一的一方添加的属性
    private Set<Jd> jds = new HashSet<Jd>();测试:
    Iterator iter = qx.getJds().iterator();
    while(iter.hasNext()){
    Jd j = (Jd)iter.next();
    System.out.println("------:"+j.getJdName());
    }
      

  2.   


    @Entity@Table(name="MainCat")@SecondaryTables({    @SecondaryTable(name="Cat1", pkJoinColumns={        @PrimaryKeyJoinColumn(name="cat_id", referencedColumnName="id")    ),    @SecondaryTable(name="Cat2", uniqueConstraints={@UniqueConstraint(columnNames={"storyPart2"})})})public class Cat implements Serializable {
        private Integer id;    private String name;    private String storyPart1;    private String storyPart2;
        @Id @GeneratedValue    public Integer getId() {        return id;    }
        public String getName() {        return name;    }        @Column(table="Cat1")    public String getStoryPart1() {        return storyPart1;    }
        @Column(table="Cat2")    public String getStoryPart2() {        return storyPart2;    }}
    文档上有啊。看官方文档不就知道了吗?
      

  3.   

    你要每次都自己控制啊。 那你就用native sql 吧。 我觉得好像一般没有办法。 PS:你的需求好奇特啊。
    PS: 你起来的好早啊。 和我一样。
      

  4.   

    <class table="表1">  
    <id clumn="id">
    <generator class="native"/>  
    </id>
    <property/> <joined-subclass table="表2">  
          <key column="id"/>  
           <property/>  
     </joined-subclass>  </class