草庐IT

永久性

全部标签

java - 在现有 JPA 持久性类中处理更新的策略

我们正在做一个计划使用JPAPersistence的项目。我们认为,一旦项目上线,可能需要更改数据模型的可能性很小。我的问题是有哪些不同的策略可用于处理这种变化。特别是我有以下问题:对于更新的JPA类,将它们合并到现有数据库架构中的最佳实践是什么?对于JPA,是否有任何最佳实践来归档旧数据、更新数据库架构,然后再次将数据库迁移到新架构?有哪些变化(从广义上讲)会使这种迁移变得不可能? 最佳答案 在RHQ(http://rhq-project.org/)中,我们有一些dbutils,它们具有XML模式描述,用于填充空数据库上的初始模式

java - 包含 Set 的 @ManyToMany Map 的 JPA2 持久性

我需要保留类型为Map>的成员,使用JPA2注释。关系是多对多的,Item对象是实体。我是否应该创建一个单独的中介实体持有Set还是可以直接映射?如果缺少某些上下文,请告知。 最佳答案 ShouldIcreateaseparateintermediaryEntityholdingSetorisadirectmappingpossible?JPA不支持嵌套集合关系(ListofLists,MapofSets,等等)。这是关于Map的规范的相关部分:2.7MapCollectionsCollectionsofelementsandent

将powershell、cmd和vscode终端的编码永久修改成utf-8

powershell修改方法1、以管理员身份打开powersheNew-Item$PROFILE-ItemTypeFile-Force2、打开C盘,找到我的文档中的WindowsPowerShell文件夹3、编辑这个ps1文件(默认是空的),加上以下代码$OutputEncoding=[console]::InputEncoding=[console]::OutputEncoding=New-ObjectSystem.Text.UTF8Encoding 4、以管理员身份打开powershell,运行下面代码Set-ExecutionPolicyUnrestricted输入Y即可5、重新打开po

java - 持久性管理器中的 HashMap

所以我正在尝试使用servlet、过滤器等构建一个谷歌应用引擎。我有一个看起来像这样的java文件:publicclassIdeaimplementsComparator{@PrimaryKey@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)privateKeykey;@PersistentprivateUserauthor;@PersistentprivateStringcontent;@PersistentprivateDatedate;@PersistentprivateMappositiveVotes;@Persis

Java 持久性 API

我是JavaPersistenceAPI的新手.我刚学会它,现在想在我的Java桌面应用程序中使用它。但我有以下问题:Q1。哪个JPA实现的大小最小(因为我希望我的应用程序的大小尽可能小)?Q2。如何找到的值persistence.xml中的标签文件。我知道它的值是特定于供应商的,但我找不到从here下载的JPA实现的值。. 最佳答案 Q1.WhichJPAimplementationissmallestinsize(asIwanttohavemyapplication'ssizeassmallaspossible)?对于JPA1.

永久缓存的 Java 小程序,不下载新版本?

我们有一个案例,客户端似乎永远缓存小程序的版本。我们正在使用在我们的中正确标记标签,或者我们认为。我们从7.1.0.40的版本字符串开始至7.1.0.42这仅触发了大约一半客户的下载。客户端运行的JRE版本似乎无关紧要。我们已经看到人们在1.4、1.5和1.6上遇到了这个问题。有人有使用显式缓存版本的经验吗?依赖cache_archive是否更可靠(忽略速度)?的“Last-Modified”和/或“Content-Length”值(按照Sun'sSite)?仅供引用,对象block如下所示: 最佳答案 遗憾的是,不同版本的Java

java - JPA/Hibernate 可以与其他持久性框架(如 jOOQ)结合使用吗

我们有一个域,其中90%的类都非常简单,可以轻松地在数据库中进行1:1映射。我很高兴Hibernate与spring-data-jpa的结合为这些类消除了大量的琐事。然而,域的其余部分具有挑战性,出于多种原因,我不想将其直接映射到数据库表。我做了实验来引入由Hibernate管理的中间bean并将这些bean映射到我的域,当所有关系都从具有挑战性的部分到容易的部分时,这很有效。当我有由Hibernate管理的“简单”类引用映射到自定义Java代码中的“具有挑战性的”类而不是直接由Hibernate管理时,这种方法失败了。这是当我意识到我无法找到自定义Hibernate和插入某种Obje

java - Persistence.createEntityManagerFactory() 在哪里寻找持久性单元?

我正在使用eclipse。我正在尝试调试未能找到确实位于我的eclipse项目目录结构中的持久性单元。EntityManagerFactoryjavax.persistence.Persistence.createEntityManagerFactory(StringpersistenceUnitName,Mapproperties)在哪里寻找持久化单元?当我问它看起来在哪里时,我的意思是可以搜索的所有可能资源,包括eclipse配置、persistence.xml中的属性(如果找到文件)、包含的JAR搜索的资源等。要探索它是如何工作的,我正在通过右键单击位于eclipse项目的根目录

java - 支持最终字段的 Java 持久性提供程序

我是Java的新手,但我一直在养成一种习惯,即尽可能使用final来声明不变性,我认为这是一件好事。(考虑f#)我了解到JPA不支持final字段。hibernate,TopLink?我不确定这些,但我现在更喜欢JPA。这在理论上是否有可能-让我们通过反射(reflection)来说-在创建后修改final字段?我的猜测是……不:)对于持久性解决方案来说,当然可能的是支持带参数的构造函数。至少我认为没有理由使这成为不可能。我猜映射会有点棘手。这是一个替代解决方案。建议?编辑:我不熟悉不可变的确切定义,所以我凭直觉在这篇文章中使用了它。在这里声明Immutability意味着声明一个字段

java - 对实习生字符串、字符串池和永久空间的垃圾收集

在探索了java的字符串内部结构之后,我对所谓的“永久空间”感到困惑。我最初对它的理解是它包含Stringliterals以及类元数据,如thisquestion中所述。.我还阅读了有关String.intern()方法的内容,它会将String放入字符串池中,返回对它的唯一实例的引用。据我了解,这是保存存在于JVM永久空间中的字符串文字的同一个字符串池。在我看来,“永久空间”似乎不可能是可修改的(毕竟它是永久性的,是吗?)。但后来我发现thisquestionEJP对已接受答案的最高投票评论解释说Intern'dstringshavebeenGC-ableforquitesomeye