草庐IT

Tomcat-Spring-Hibernate

全部标签

java - Spring JDBC 与 JDBC

我一直在尝试使用spring3.0SimpleJdbcTemplate,插入1500条记录需要5分钟,而我需要几秒钟。使用直接JDBC插入。不确定我做错了什么。 最佳答案 如果您正在构建批处理,请考虑使用具有适当block大小设置的Spring批处理-JdbcBatchItemWriter,这将在不到一秒的时间内加载这1500条记录。 关于java-SpringJDBC与JDBC,我们在StackOverflow上找到一个类似的问题: https://stac

performance - JPA+Hibernate(J2SE) @OneToMany - 数百万条记录减慢了添加新对象的速度

我在J2SE项目中使用JPA+Hibernate和PostGreSQL数据库。我有2个实体A和B。A与B具有@OneToMany关系。在我的域模型中,A可能引用数百万个B。当我将新对象添加到集合中时,需要几分钟才能完成。@OneToMany(cascade=CascadeType.PERSIST)Collectionfoo=newArrayList();//mightcontainmillionsofrecords//...//thistakesalotoftimefoo.add(newB());我认为JPA在插入新对象之前获取整个集合。是否可以配置关系,以便通过向集合添加新对象时不执

java - 如何告诉 Apache CXF 在 Spring 配置中使用 java.util.Date

我正在使用CXF来托管Web服务在Spring上下文中,这使得JAX-WS成为默认绑定(bind)。我正在使用Java-First,这意味着带注释的端点接口(interface)和类。由于JAX-WS的默认绑定(bind)使用XMLGregorianCalendar类作为日期,当我调用我的Web服务传递java.util.Date时,它被转换为服务器上的XMLGregorianCalendar。有很多帖子和文档介绍如何更改它以将日期值绑定(bind)到java.util.Date,但都与wsdl2java工具相关,例如:因为我使用的是Spring,所以我正在寻找一种在Spring上下文

java - spring 中默认的 hibernate session 控制行为是什么?

我有一个使用spring和hibernate的3层应用程序(Controller->服务->dao),事务应用于服务层。我没有配置OpenSessionInViewInterceptor或OpenSessionInViewFilter,我想知道hibernatesession控制行为。每个事务或每个请求打开session?谢谢! 最佳答案 如果您使用的是HibernateTransactionManager,Session将绑定(bind)到当前线程,并在事务结束时通过提交或回滚刷新和关闭。另见10.Transactionmanag

java - 为什么不推荐使用 org.hibernate.cache.Cache?

不仅如此,org.hibernate.cache.Cache.CacheProvider也被弃用了。如果这些是那么我们应该如何创建我们自己的自定义缓存解决方案?替代方法? 最佳答案 JavaDoc解释一下:Thelegacy(andnowdeprecated)approachtocachingisdefinedbytheCacheProviderandCacheinterfacesaswellastheCacheConcurrencyStrategyinterfacealongwiththevariousimplementation

java - 如何在不使用 Spring/JPA/Hibernate 的情况下传递 JDBC 连接

我们有一个JavaJ2EE应用程序,它为每个数据库行插入/更新使用单独的Web服务调用。事实证明这太慢了。他们让我来“快速”修复它。我计划将所有Web服务调用转换为纯JDBC。为此,我需要从池中获取JDBC连接,然后以多种不同的方法使用它。我需要在多个DAO中使用相同的JDBC连接,将它们串在一起形成一个数据库事务。我可以明确地将JDBC连接传递给需要它的每个DAO,但这需要我更改很多方法签名,再加上很多单元测试(这与“快速”部分背道而驰)。我正在尝试想出一个好方法,将JDBC连接放在某个地方,然后只需在需要它的方法中获取它,而不必在任何地方显式地传递它。我们不能在这个项目上使用Spr

java - JPA 2.0 hibernate @OneToMany + @MapKeyJoinColumn

OneToMany+MapKeyJoinColumn对我不起作用,请提出我做错了什么。我正在使用JPA2.0+Hibernate3.6.1并想映射下表:上课:@EntitypublicclassQuestion{//idandotherfields@OneToMany(mappedBy="question",cascade=CascadeType.ALL)@MapKeyJoinColumn(name="language_id")privateMapstatements=newHashMap();}@EntitypublicclassStatement{@IdprivateLongid;

java - 将 Hibernate 3.2.5 迁移到 3.6

目前,我们在将应用程序从Hibernate3.2.5迁移到3.6.1时遇到了很多问题。我们面临的第一个错误是:严重:列名“btn_name”无效。尽管btn_name没有映射到任何地方。实际映射是btnName。这是我的映射文件-->-->-->关注com.sampleproject.client.beansdm.metadata.uicontrols.InputControljoined-subclass映射有一个名为btnName的字段。它在3.2.5版本中工作正常,但当我将其更改为较新的hibernate版本时,它停止响应。是否存在任何可能的jar冲突?请帮忙。谢谢你,问候,

java - Hibernate、Spring、@Transactional - 围绕 try/catch?

我正在使用Spring3和Hibernate3.6开发一个网络应用程序。我对@Transactional注释和代码结构有一些疑问。->当我使用@Transactional(使用Spring进行事务管理)时,是否必须在调用它们时使用try/catch包围@Transactional注释的方法?例如,当我得到一个加载、更改并返回一个对象的方法时,我从另一个类调用它:我是否必须用try/catch包围调用?也许出了什么问题,没有返回对象,数据库连接失败..我不知道。直到现在,我认为@Transactional关心所有可能发生的异常,并在发生错误时回滚此事务中的每个操作。但如果它发生了,我必须

java - 从自定义 logback appender 使用 Spring?

我们使用Spring来获取我们所有的JDBC连接以及持久性框架的一部分。但是,为了编写我们自己的自定义DBAppender(它必须是自定义的,因为由于表名标准,我们不允许使用默认的DBAppender)。此时如何从CustomAppender内部获取对springbean的引用/使用Autowiring?我更愿意留在spring中而不是使用普通的JDBC。自定义附加程序:importch.qos.logback.classic.spi.ILoggingEvent;importch.qos.logback.core.AppenderBase;publicclassCustomDBAppe