jjzjj

Persistence

全部标签

java - 配置 Hibernate 以使用重命名的 persistence.xml

我们必须重命名persistence.xml以欺骗WebSphere7不要使用其内置的OpenJPA。当你使用Spring时,这很容易做到,你只需指示其实体管理器工厂使用另一个位置用于persistence.xml:但现在我们想在没有Spring的情况下使用普通的Hibernate/JPA,并且找不到任何方法来指定替代的persistence.xml位置。JPA2规范对此没有任何说明......有什么线索吗?是否可以指示Hibernate使用重命名的persistence.xml?======看起来让Hibernate读取重命名的persistence.xml文件是不可能的。在我的情况

java - Spring Transactions 以确保跨 2 个 REST 服务的一致性?

我有2个RESTapi,我在“事务”中“保存”数据。我很想听听有关如何确保第二个出现问题时第一个可以“回滚”的建议。我目前有一个重试循环,如果失败,我会向第一个调用发送一个删除。它工作正常,我只是好奇是否可以使用spring事务来处理它。就此而言,还有其他选择吗? 最佳答案 如果像这样的事情是可能的,那将是非常有趣和有用的,但我认为这是不可能的,因为没有标准的API用于RESTAPI的提交/回滚,就像JDBCAPI一样。使用Spring,您永远不能简单地将方法标记为@Transactional,因为Spring不知道如何“回滚”您在

java - Hibernate @ManyToOne 引用类使用@NaturalId 而不是@Id

我有一些允许我创建关联类的Hibernate/JPA注释(老实说仍然不知道区别)。此类将两个相关的项目组合成一个对象。我最初使用的是@JoinTable,但意识到我需要更多具有关联的元数据,因此不得不将代码转换为另一种对象类型。现在我使用@Id为我的对象标记ID列,并使用@NaturalId(mutable=false)为一个Stringuuid。我的关联类正在使用@ManyToOne并很好地创建表,但是当我查看它时,该表正在使用@Id字段作为映射列。我希望这个关联类使用@NaturalIduuid以便于将关系/关联转移到其他系统。如何让关系使用正确的标识符?作为引用,我的数据库和Ja

java - 使用主键以外的东西 hibernate 一对多

我有一个类A有一组B的。但是,这两个对象由不是主键的字段链接。对于B,我可以使用,但我如何指定连接应该在A中.secondary_column?不是A.table_primary_key_id? 最佳答案 解决了 关于java-使用主键以外的东西hibernate一对多,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1241026/

java - 使用 RAM 和磁盘的类似 memcached 的键/值缓存

很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visitthehelpcenter.8年前关闭。我有一个JavaWeb应用程序,它在后端使用第三方Web服务。调用Web服务会产生延迟,这很重要,应尽可能避免。此外,我的应用程序每天只允许进行一定数量的Web服务调用,因此除非绝对需要,否则最好不要进行Web服务调用。我目前的解决方案是在Memcached中缓存Web服务结果,这很有效。基本上,我们使用RAM来缓存Web服务结果。但是,我们希望将其提升到一个新的水平。我们还有磁盘空间,我们希望将

java - EclipseLink @MappedSuperclass 和泛型

我的Web应用程序中有几个领域模型类,它们之间存在层次关系。其中一个例子是用于对用户帖子进行分类的分层类别结构。有一些与这些类的层次结构相关的逻辑是常见的。因此,我尝试将逻辑移动到通用的@MappedSuperclass注释父类(superclass)中。类似的东西:@MappedSuperclasspublicabstractclassHierarchicalBaseEntity>extendsBaseEntity{@ManyToOne(optional=true)@JoinColumn(name="parent")privateNparent;privateintdepth;pub

java - 服务器创建的实例什么时候死?

以下程序:publicclassSimpleCounterextendsHttpServlet{intcounter=0;@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/plain");PrintWriterwriter=response.getWriter();counter++;writer.println("accessed"+count

java - 带有 H2 数据库的 JUnit : Unique index or primary key violation when adding multilingual services for multiple data

Hibernate在创建数据库的过程中,在oe_iv_student_lang表中为外键id_student添加了唯一键约束,因为我们要实现Serializable接口(interface)导致Hibernate不允许我们在其对应的子表中添加具有相同父外键的多行。我附上了代码片段以便更好地理解..学生类(class):importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationT

java - hibernate 性能问题,坚持一个接一个还是批量?

我有一个约6GB的文本文件,我需要对其进行解析并稍后保存。通过“解析”,我从文件中读取一行(通常为2000个字符),从该行创建一个Car-object,然后我坚持它。我正在使用生产者消费者模式来解析和持久化,我想知道一次持久化一个对象(出于性能原因)或在一次提交中持久化1000个(或任何其他数量)对象是否有任何区别?目前,我需要>2小时来持久化所有内容(300万行),这对我来说看起来时间太多了(或者我可能是错的)。目前我正在这样做:publicvoidpersistCar(Carcar)throwsException{try{carDAO.beginTransaction();//ge

java - 实体不通过 TomEE 上的 Spring(CrudRepository) 持久化

我在尝试使用SpringsCrudRepository接口(interface)将实体持久保存到PostgreSQL数据库时遇到问题。我在TomEE上使用正确的值设置它和调整Spring本身的配置时遇到了很多问题。我曾短暂地尝试过使用hibernate,但问题变得更糟,所以我切换回与TomEE捆绑在一起的OpenJpa。我对纯JavaEE有一点经验,正在创建这个应用程序来学习Spring,我的一个friend需要一个Spring应用程序来部署在基于TomEE的ApplicationServer上,因此这两个是必需的。我附加的代码量可能有点过头了,但我宁愿让您看看那里有什么,这样您就可以