如果JTA是一个API,我可以使用Hibernate作为JTA的实现吗?我有一个使用Spring和Hibernate的应用程序,我想知道应该由哪个框架负责事务,Spring还是Hibernate? 最佳答案 Hibernate不是JTA的实现。Hibernate是一种JPA实现。JTA是一种企业事务规范,由JavaEE提供商或独立事务管理器(例如Bitronix)实现。Hibernate提供事务API抽象,因为ORM工具采用事务性后写持久性上下文。Spring提供了事务管理抽象,它允许您从RESOURCE_LOCAL切换到JTA事务
我有一个使用条件api动态组合在一起的hibernate查询。如果按原样执行,它会生成非常慢的查询。但我注意到,如果我在查询前加上/*+FIRST_ROWS(10)*/,它们的速度会提高大约1000%。我如何使用标准api执行此操作?我尝试了criteria.setComment(..),但这似乎被忽略了。在hibernate文档中,3.4.1.7。提到了查询提示,但它明确指出:“请注意,这些不是SQL查询提示”查询的结果将被分页,所以在99%的情况下我会显示结果1-10。 最佳答案 我有另一个通用解决方案,应该适用于每个条件查询:
我有一些代码:@Id@SequenceGenerator(name="SOMETHING_SEQ")@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SOMETHING_SEQ")@Column(name="SOMETHING",nullable=false)privateLongid;hibernate如何提供我的ID?我在我的数据库中看到一个名为“hibernate_sequence”的序列,没有其他hibernate“特殊表”。 最佳答案 实际上,这里您的S
我有一个像这样的HibernateSQL查询:publicvoidfuncA(Stringstr){StringBuildersql=newStringBuilder();sql.append("selectfieldAfromtableAwherefieldBlike'%:searchKey%'");...session.createSQLQuery(sql.toString()).addScalar("fieldA",StandardBasicTypes.STRING).setParameter("searchKey",str);...}当我进行这样的查询时query.list()
您如何在JavaDesktopSwing应用程序中进行Hibernatesession管理?您使用单个session吗?多个session?这里有一些关于这个主题的引用:http://www.hibernate.org/333.htmlhttp://blog.schauderhaft.de/2008/09/28/hibernate-sessions-in-two-tier-rich-client-applications/http://in.relation.to/Bloggers/HibernateAndSwingDemoApp 最佳答案
我有一个PostgreSQL表,其中有一列inv_seq声明为serial.我有一个Hibernatebean类来映射表。除此列外,所有其他列均已正确读取。这是Hibernatebean类中的声明:........@GeneratedValue(strategy=javax.persistence.GenerationType.AUTO)@Column(name="inv_seq")publicIntegergetInvoiceSeq(){returninvoiceSeq;}publicvoidsetInvoiceSeq(IntegerinvoiceSeq){this.invoiceS
我知道this问题和它引用的SpringJIRA问题,但是,我使用的是最新版本的Hibernate和Spring,并且在运行单元测试时仍然得到下面堆栈跟踪指示的相同错误:Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFactory'definedinfile[E:\business\projects\model\build\classes\test\testContext-model-hibernate.xml]:Invocationof
是否有任何方法可以循环(例如通过for)所有包含在某个包中的类?我必须在AnnotationConfiguration上addAnnotatedClass(Classc)。这样做:AnnotationConfigurationannotationConfiguration.addAnnotatedClass(AdditionalInformation.class);annotationConfiguration.addAnnotatedClass(AdditionalInformationGroup.class);annotationConfiguration.addAnnotated
现在我正在制作一个非常简单的网站-大约5页。问题是集成某种数据库映射解决方案是否过分且值得花时间,或者只使用普通的旧JNDI是否会更好。我可能有很多东西需要从数据库中读/写。我想我对这些技术有基本的了解,但仍然需要大量引用文档。还有其他人以前面临过这个决定吗?编辑:抱歉,我应该指定JNDI来查找数据库连接,并指定JDBC来执行操作。 最佳答案 简短回答:这取决于您要支持的复杂性。长答案:首先,ORM(对象关系映射——您所说的数据库映射)和JNDI(Java命名和目录接口(interface))是两个不同的东西。如您所知,第一个用于将
我有一个像这样注释的域对象以支持hibernate。@Entity@Table(name="INPUT")publicclassAppInput{/***Uniqueidforthisrequest*/@Id@GeneratedValue@Column(name="INPUT_ID")privatelongrequestId;/****/@Column(name="EMAIL_ID")privateStringemailId;/****/@Column(name="REQUEST_DATE")privateDaterequestDate;/****/@Column(name="INPU