xworker.db.hibernate.hibernate-mapping.xer.txt Maven / Gradle / Ivy
^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下定义subclass,union-subclass和joined-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