Hibernate:一个实体类,分别持久化到多个表,该如何弄?

问题描述

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

解决方案

解决方案二:
你要使用映射机制一对一、一对多、多对一、多对多、双向多对一....给你一个一对多的代码在一的一方添加<!--一对多--><setname="jds"lazy="false"><keycolumn="qxId"/><one-to-manyclass="com.andy.ssh2.beans.Jd"/></set>jds是在一的一方添加的属性privateSet<Jd>jds=newHashSet<Jd>();测试:Iteratoriter=qx.getJds().iterator();while(iter.hasNext()){Jdj=(Jd)iter.next();System.out.println("------:"+j.getJdName());}
解决方案三:
该回复于2011-04-22 11:06:30被版主删除
解决方案四:
该回复于2011-04-26 16:03:20被版主删除
解决方案五:
该回复于2011-04-28 08:39:07被版主删除
解决方案六:
比如传递某个参数?是类与类之间的那种关联关系么还是什么果然之这样的话就的跟实际的业务相关了,比如一对一一对多多对多在那个类上建立管理关系,外键之类的还从性能上考虑这个好做
解决方案七:
该回复于2011-04-28 09:15:40被版主删除
解决方案八:
一对一
解决方案九:
@Entity@Table(name="MainCat")@SecondaryTables({@SecondaryTable(name="Cat1",pkJoinColumns={@PrimaryKeyJoinColumn(name="cat_id",referencedColumnName="id")),@SecondaryTable(name="Cat2",uniqueConstraints={@UniqueConstraint(columnNames={"storyPart2"})})})publicclassCatimplementsSerializable{privateIntegerid;privateStringname;privateStringstoryPart1;privateStringstoryPart2;@Id@GeneratedValuepublicIntegergetId(){returnid;}publicStringgetName(){returnname;}@Column(table="Cat1")publicStringgetStoryPart1(){returnstoryPart1;}@Column(table="Cat2")publicStringgetStoryPart2(){returnstoryPart2;}}

文档上有啊。看官方文档不就知道了吗?
解决方案十:
该回复于2011-04-28 14:53:01被版主删除
解决方案十一:
引用8楼yingzhuo2011的回复:

Javacode@Entity@Table(name="MainCat")@SecondaryTables({@SecondaryTable(name="Cat1",pkJoinColumns={@PrimaryKeyJoinColumn(name="cat_id",referencedColumnName="id")),……

正解
解决方案十二:
这种情况是每次持久化时,都会分别存储多个表吗?我想要的是每次能控制想往哪个表存就往哪个表存。引用8楼yingzhuo2011的回复:

Javacode@Entity@Table(name="MainCat")@SecondaryTables({@SecondaryTable(name="Cat1",pkJoinColumns={@PrimaryKeyJoinColumn(name="cat_id",referencedColumnName="id")……

解决方案十三:
你要每次都自己控制啊。那你就用nativesql吧。我觉得好像一般没有办法。PS:你的需求好奇特啊。PS:你起来的好早啊。和我一样。
解决方案十四:
也就有2、3个表,每次能指定往哪个表存就行了。引用12楼yingzhuo2011的回复:

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

解决方案十五:
应该就是一楼说的映射机制的!
解决方案:
<classtable="表1"><idclumn="id"><generatorclass="native"/></id><property/><joined-subclasstable="表2"><keycolumn="id"/><property/></joined-subclass></class
解决方案:
该回复于2011-05-04 15:11:33被版主删除

时间: 2024-11-05 21:54:09

Hibernate:一个实体类,分别持久化到多个表,该如何弄?的相关文章

hibernate可不可以根据一个实体类查询出数据库中是否存在该记录

问题描述 hibernate可不可以根据一个实体类查询出数据库中是否存在该记录 需要判断一条记录是否已经在数据库中是否存在重复记录,用hql的话传入的参数会比较多

hibernate映射实体类路径问题

问题描述 hibernate映射实体类路径问题 我建了一个source fold 命名src/main/java,里面建了一个包entity,entity里面有2个实体类 现在在hibernate.cfg.xml中 class路径改怎么写? 在线等

link环境下,codefirst如何定义一个实体类为多个表?

问题描述 link环境下,codefirst如何定义一个实体类为多个表? link环境下,codefirst如何定义一个实体类为多个表? 解决方案 http://www.cnblogs.com/Allen-Li/archive/2012/04/05/2433339.html 解决方案二: 一般操作是一个model class对象数据库的一个table

ios-实体类到另一个实体类传递数据

问题描述 实体类到另一个实体类传递数据 在chapterDC类中有一个selectedRegion,其中的区域数据需要传递到 regionDC.通过chapterDC来传递.chapterDC中有区域. 但是返回的结果不是0就是null. -(NSMutableArray *)getAllChapters{ NSMutableArray *returnArray = [[NSMutableArray alloc] init]; NSString *url = [NSString stringWi

hibernate注解实体类对应数据库字段,出了问题?请教

问题描述 hibernate注解实体类对应数据库字段,出了问题?请教 我在用注解写对应数据库的映射文件时候 搞了个单元测试 结果就报了异常 : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonDao': Autowiring of fields failed; nested exception is org.springframework.beans.fac

发布一个实体类属性生成小工具,给开发加点料

做了很久的代码生成工具,基本上都是基于表生成实体类属性的,把数据库表的信息拿出来,然后之乎者也后生成一个标准的实体类,包含字段.属性.描述等东西. 是基于整个数据库生成整个框架代码的工具,如我的代码生成工具Database2Sharp(下载地址http://www.iqidi.com/Download/Database2SharpSetup.rar ),基本上能满足前期的框架代码生成. 不过后来在做一些非数据库的项目的实体类,还有一些不是基于表一一对应关系的实体类,写这些字段属性的代码就显得比较

用C#做一个实体类生成器

问题描述 老师要我们效仿.Net代码生成器,做一个功能差不多的.我现在求那位大哥教我做怎么样生成实体类就够了.万分感谢!! 解决方案 解决方案二:帮顶,有一个代码生成器的原码解决方案三:代码生成器首先是为了生成特定的代码的,不是所有的操作都能完成的,所以呢一般都是先有一个基础的模板,然后生成的时候根据模板来进行一些改动.个人愚见,强忍别笑.呵呵解决方案四:使用CodeDOM和Emit吧网上的资料很多的呵呵祝好运!解决方案五:StreamcodeFile=File.Open(txt_TableCS

[WinForm]在一个界面把值用一个数组保存然后存到一个实体类中.

问题描述 界面有多个TxtBox值... 解决方案 解决方案二:怎么实现?高手来挖解决方案三:this.m_texts=newstring[textBoxes.Length];for(inti=0;i<textBoxes.Length;i++){m_texts[i]=textBoxes[i].Text;} 解决方案四:List<string>list=newList<string>();foreach(Controlcinthis.Controls){if(c.GetType

hibernate中实体类的三种状态

1-----transient状态.当我们new一个对象是,就是transient状态,最显著的特点是在数据库中没有与之对应的记录.也没有纳入到session 的管理,随时可以被垃圾回收处理掉. 2-----persient状态.当我们对transient 对象进行save(),saveOrUpdate()之后对象进入persient状态,在数据库中有与之对应的记录.纳入了session的管理,session和一级缓存绑定着,session级的缓存通常也叫一级缓存.当save()的时候会放到缓存