All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xworker.db.hibernate.hibernate-mapping.xer.txt Maven / Gradle / Ivy

There is a newer version: 2.0.3
Show newest version
^1395371718131
@xworker.db.hibernate.hibernate-mapping
sname
hibernate-mapping
slabel
hibernate-mapping
sdescriptors
xworker.lang.MetaDescriptor3
smany
true
seditCols
2
sinitialization
false
sdescription
这个元素包括一些可选的属性。schema和catalog属性, 指明了这个映射所连接(refer)的表所在的schema和/或catalog名称。 假若指定了这个属性,表名会加上所指定的schema和catalog的名字扩展为全限定名。假若没有指定,表名就不会使用全限定名。 default-cascade指定了未明确注明cascade属性的Java属性和 集合类Hibernate会采取什么样的默认级联风格。auto-import属性默认让我们在查询语言中可以使用 非全限定名的类名。

假若你有两个持久化类,它们的非全限定名是一样的(就是两个类的名字一样,所在的包不一样--译者注), 你应该设置auto-import="false"。假若说你把一个“import过”的名字同时对应两个类, Hibernate会抛出一个异常。

注意hibernate-mapping 元素允许你嵌套多个如上所示的 映射。但是最好的做法(也许一些工具需要的)是一个 持久化类(或一个类的继承层次)对应一个映射文件,并以持久化的超类名称命名,例如: Cat.hbm.xml, Dog.hbm.xml,或者如果使用继承,Animal.hbm.xml。 sid hibernate-mapping @xworker.db.hibernate.hibernate-mapping/@package sname package slabel package ssize 40 scolspan 2 sdescription 指定一个包前缀,如果在映射文档中没有指定全限定的类名, 就使用这个作为包名。 LvalidateOnBlur false LallowDecimals false LallowNegative false sid package sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@catalog sname catalog slabel catalog sdescription 数据库catalog的名称。 LvalidateOnBlur false LallowDecimals false LallowNegative false sid catalog sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@default-cascade sname default-cascade slabel default-cascade sdefault none sdescription 默认的级联风格 LvalidateOnBlur false LallowDecimals false LallowNegative false sid default-cascade sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@schema sname schema slabel schema sdescription 数据库schema的名称。 LvalidateOnBlur false LallowDecimals false LallowNegative false sid schema sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@default-access sname default-access slabel default-access sdefault property sdescription Hibernate用来访问属性的策略。可以通过实现PropertyAccessor接口自定义。 LvalidateOnBlur false LallowDecimals false LallowNegative false sid default-access sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@auto-import sname auto-import slabel auto-import sinputtype truefalse sdefault true sdescription 指定我们是否可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。 LvalidateOnBlur false LallowDecimals false LallowNegative false sid auto-import sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@auto-import/@true sname true slabel true svalue true sid true sdescriptors xworker.lang.MetaDescriptor3/@attribute/@value @xworker.db.hibernate.hibernate-mapping/@auto-import/@false sname false slabel false svalue false sid false sdescriptors xworker.lang.MetaDescriptor3/@attribute/@value @xworker.db.hibernate.hibernate-mapping/@default-lazy sname default-lazy slabel default-lazy sinputtype truefalse sdefault true sdescription 指定了未明确注明lazy属性的Java属性和集合类, Hibernate会采取什么样的默认加载风格。 LvalidateOnBlur false LallowDecimals false LallowNegative false sid default-lazy sdescriptors xworker.lang.MetaDescriptor3/@attribute @xworker.db.hibernate.hibernate-mapping/@default-lazy/@true sname true slabel true svalue true sid true sdescriptors xworker.lang.MetaDescriptor3/@attribute/@value @xworker.db.hibernate.hibernate-mapping/@default-lazy/@false sname false slabel false svalue false sid false sdescriptors xworker.lang.MetaDescriptor3/@attribute/@value @xworker.db.hibernate.hibernate-mapping/@meta sname meta slabel meta sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.meta smany true seditCols 2 sinitialization false sid meta @xworker.db.hibernate.hibernate-mapping/@typedef sname typedef slabel typedef sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.typedef smany true seditCols 2 sinitialization false sid typedef @xworker.db.hibernate.hibernate-mapping/@import sname import slabel import sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.import smany true seditCols 2 sinitialization false sid import @xworker.db.hibernate.hibernate-mapping/@class sname class slabel class sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.class smany true seditCols 2 sinitialization false sdescription 你可以使用class元素来定义一个持久化类.。

若指明的持久化类实际上是一个接口,这也是完全可以接受的。之后你可以用来指定该接口的实际实现类。 你可以持久化任何static(静态的)内部类。 你应该使用标准的类名格式来指定类名,比如:Foo$Bar。 对Hibernate映射来说视图和表是没有区别的,这是因为它们在数据层都是透明的( 注意:一些数据库不支持视图属性,特别是更新的时候)。

有时你想使用视图,但却不能在数据库 中创建它(例如:在遗留的schema中)。这样的话,你可以映射一个不可变的(immutable)并且是 只读的实体到一个给定的SQL子查询表达式。定义这个实体用到的表为同步(synchronize),确保自动刷新(auto-flush)正确执行, 并且依赖原实体的查询不会返回过期数据。在属性元素 和一个嵌套映射元素中都可见。 sid class @xworker.db.hibernate.hibernate-mapping/@subclass sname subclass slabel subclass sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.subclass smany true seditCols 2 sinitialization false sdescription 最后,多态持久化需要为父类的每个子类都进行定义。对于“每一棵类继承树对应一个表”的策略来说,就需要使用<subclass>定义。

每个子类都应该定义它自己的持久化属性和子类。 <version><id> 属性可以从根父类继承下来。在一棵继承树上的每个子类都必须定义一个唯一的discriminator-value。如果没有指定,就会使用Java类的全限定名。

可以在单独的映射文件中,直接在hibernate-mapping下定义subclassunion-subclassjoined-subclass映射。这样你只要增加一个新的映射文件就可以继承一棵类继承树。你必须在子类的映射中指定extends 属性来指定已映射的超类。注意:以前,这个特性使得映射文件的顺序变得很重要。从Hibernate3开始,当使用extends关键字的时候,映射文件的次序便不重要了。而在单一映射文件中,依旧需要保持将超类定义在子类之前这样的次序 sid subclass @xworker.db.hibernate.hibernate-mapping/@joined-subclass sname joined-subclass slabel joined-subclass sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.joined-subclass smany true seditCols 2 sinitialization false sid joined-subclass @xworker.db.hibernate.hibernate-mapping/@union-subclass sname union-subclass slabel union-subclass sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.union-subclass smany true seditCols 2 sinitialization false sid union-subclass @xworker.db.hibernate.hibernate-mapping/@resultset sname resultset slabel resultset sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.resultset smany true seditCols 2 sinitialization false sid resultset @xworker.db.hibernate.hibernate-mapping/@query sname query slabel query sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.query smany true seditCols 2 sinitialization false sid query @xworker.db.hibernate.hibernate-mapping/@sql-query sname sql-query slabel sql-query sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.sql-query smany true seditCols 2 sinitialization false sid sql-query @xworker.db.hibernate.hibernate-mapping/@filter-def sname filter-def slabel filter-def sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.filter-def smany true seditCols 2 sinitialization false sid filter-def @xworker.db.hibernate.hibernate-mapping/@database-object sname database-object slabel database-object sdescriptors xworker.lang.MetaDescriptor3/@thing sextends xworker.db.hibernate.hibernate-mapping-nodes.database-object smany true seditCols 2 sinitialization false sid database-object @xworker.db.hibernate.hibernate-mapping/@scripts sname scripts sid scripts slabel scripts sdescriptors xworker.lang.MetaDescriptor3/@actions @xworker.db.hibernate.hibernate-mapping/@scripts/@toHibernate sname toHibernate sisSynchronized false sthrowException true suseOtherAction false svarScope Global sdisableGlobalContext false Scode #$@text#$@ def thing = self.detach(); if(actionContext.get("entityMode") != null && entityMode == "dynamic-map"){ for(cls in thing.get("class@")){ cls.set("name", null); } } return thing; #$@text#$@ sid toHibernate sdescriptors xworker.lang.actions.Actions/@GroovyAction @xworker.db.hibernate.hibernate-mapping/@scripts/@toHibernateXml sname toHibernateXml sisSynchronized false sthrowException true suseOtherAction false svarScope Global sdisableGlobalContext false Scode #$@text#$@ import org.xmeta.Thing; import org.xmeta.ActionContext; ActionContext context = new ActionContext(); context.put("thing", self); Thing template = new Thing("xworker.lang.util.TextTemplate"); template.set("type", "freemarker"); template.set("templatePath", "xworker/db/hibernate/hibernate_mapping.ftl"); template.set("templateEncoding", "UTF-8"); template.set("outputEncoding", "UTF-8"); return template.doAction("process", context); #$@text#$@ sinitBreakPoint false ssuccessBreakPoint false sexceptionBreakPoint false seditBreakPoint false sinterpretationType Action screateLocalVarScope false ssaveReturn false sid toHibernateXml sdescriptors xworker.lang.actions.Actions/@GroovyAction




© 2015 - 2025 Weber Informatics LLC | Privacy Policy