休眠配置由Tapestry Hibernate Core模块处理。这是在第一次需要Hibernate会话时以实时方式完成的。
相关文章
-
页码:24/35
-
页码:24/35
-
页码:24/35
-
页码:24/35
-
页码:24/35
-
页码:24/35
-
页码:24/35
HibernateSessionSource配置
配置hibernate的一种方法是创建一个hibernate.cfg.xml
文件并将其放在应用程序的根目录下(即src/main/resources下)。大多数特定于Hibernate的配置都出现在此文件中。另一种方法是提供执行配置的对象(例如设置事件侦听器)。例子:
公共静态void contributeHibernateSessionSource(OrderedConfiguration<Hibernate配置器>配置){config.add(“Widget”,新WidgetHibernateConfigure());}
请注意,配置是OrderedConfiguration。默认情况下,库提供两个配置器:
- 违约-执行默认休眠配置
- 程序包名称-按提供给HibernateEntityPackageManager服务的包名称加载实体
HibernateEntityPackageManager配置
此配置是一组包名称,用于标识搜索实体类的位置。
对于贡献的每个包,图书馆将:
- 将包添加到配置,它将从命名包中的包信息类加载注释(如果存在)。
- 包(或任何子包)中的每个Java类都将添加为带注释的类。这不包括内部类,但包括所有其他类。
默认情况下,包应用程序root-package.entities如上所述进行扫描。如果有包含实体的附加程序包,则必须贡献他们去了磁带店。冬眠。HibernateEntityPackageManager服务配置。
例子:
呈现宏“code”时出错:为参数“com.atlassian.conflunce.ext.code.render”指定的值无效。无效值异常'public static void contributeHibernateEntityPackageManager(配置<String>配置){configuration.add(“org.example.myapp.domain”);}
您可以以这种方式添加任意数量的包。当实体本身包含在应用程序中包含的库中,而不是应用程序的一部分时,最常使用此选项。
休眠符号
Hibernate集成包括符号用于控制某些功能:
tapestry.hibernate.provide-价值编码器 | 如果为true(默认值),则会自动为所有Hibernate实体提供ValueEncoder(ValueEncoders用于将实体的主键编码为可以包含在URL中的字符串)。如果希望直接控制此功能,请设置为false。 |
tapestry.hibernate.默认配置 | 如果为true(默认值),则应用程序必须包含hibernate.cfg.xml 文件。如果应用程序完全在代码中配置自己,则应将此符号设置为false。 |
tapestry.hibernate.早期启动 | 如果为“true”,则在应用程序启动时初始化Hibernate。默认值为“false”,用于在首次使用时延迟启动Hibernate。 |