我在Hibernate 4中生成会话工厂时遇到了麻烦.在Hibernate 3中我简单地做了:
org.hibernate.cfg.Configuration conf= HibernateUtil
.getLimsInitializedConfiguration(systemConfiguration
.getHibernateconfFile());
SessionFactory sf = conf.configure().buildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
现在我需要将ServiceRegistry类传递给buildSessionFactory,但是Javadocs对于如何解决这个问题非常模糊.有小费吗?
我试图更新到Hibernate 4,我得到org.hibernate.annotations.Entity已被弃用.然而,没有任何文件表明情况就是如此.有人对此有任何见解吗?
@org.hibernate.annotations.Entity(dynamicUpdate = true)
Run Code Online (Sandbox Code Playgroud) 在Firefox中打印页面时,我正在使用@media在每个页面上打印标题.我的css设置如下:
@media print {
div.printDivHeader {
font-family: Arial, Helvetica, sans-serif;
font-size: 1.0em;
position: fixed;
display: block;
width: 100%;
height: auto;
top: 0;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是第二页的内容与print div标题重叠.(即,在第二页上,标题不会强制页面内容下降,因此我将文本写入文本).有办法解决这个问题吗?
在部署到JBoss时遇到问题,我遇到了问题.部署到Tomcat工作正常 - 没问题.我怀疑这个问题与JBoss附带的冲突库有关.当我尝试查询数据库(使用Hibernate)时,我得到以下内容:
2011-12-08 08:02:53,640 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/xxxx].[xxxx]] (http-0.0.0.0-8080-9) Servlet.service() for servlet xxxx threw exception
java.lang.IllegalStateException: BaseClassLoader@50d81341{vfszip:/opt/jboss/jboss-eap-5.1/jboss-as/server/web/deploy/xxxxx.war/} classLoader is not connected to a domain (probably undeployed?) for class oracle.sql.DATE
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:857)
at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:502)
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:447)
Run Code Online (Sandbox Code Playgroud)
再次,在Tomcat中运行时没有这样的问题.我在我的webroot中设置了一个jboss-classloading文件,其中包含:
<classloading xmlns="urn:jboss:classloading:1.0"
parent-first="false" domain="DefaultDomain" top-level-classloader="true"
parent-domain="Ignored" export-all="NON_EMPTY" import-all="true" />
Run Code Online (Sandbox Code Playgroud)
但它似乎没有帮助.奇怪的是,我使用两种不同的hibernate配置连接到两个不同的数据库,一个是Oracle 11i,另一个是Oracle 8i.Oracle 11连接永远不会引发问题......它只有导致此问题的8i连接.11连接工作正常.
我不知道为什么会这样,但JBoss可能包含Oracle 8 Hibernate方言库而不是Oracle 11方言库?在任何情况下,我如何告诉JBoss使用我的打包库而不是在其类路径中找到的库(假设这是我的问题)?