草庐IT

accessing-data-jpa

全部标签

java - JPA 集合在映射表中有不需要的唯一约束

当我使用hibernate.hbm2ddl.auto=create自动生成我的数据库时,在映射表中创建了一个“不需要的”唯一约束。我正在运行postgres9.1,创建表语句变为:CREATETABLEschemaname.scanalerts(scanidbigintNOTNULL,alerts_idbigintNOTNULL,CONSTRAINTfkd65bd7541b5b1a8eFOREIGNKEY(scanid)REFERENCESrfid.scan(id)MATCHSIMPLEONUPDATENOACTIONONDELETENOACTION,CONSTRAINTfkd65bd

java - 将没有主键的 SQL View 映射到 JPA 实体

在我的Java应用程序中,我想使用JPA获取存储在我的Oracle数据库中的信息。在我的数据库中,我有一个View,其中包含一组从其他一些表中获得的列。我想映射那个View。但是,我的View没有主键,因此我无法创建JPA实体。我考虑过使用2列作为外键。实现它的最佳方式是什么?我见过很多不同的方法,我无法决定哪种方法最适合这种情况。 最佳答案 解决此问题的一种方法是通过将@Id注释添加到适当的字段来使用复合主键。 关于java-将没有主键的SQLView映射到JPA实体,我们在Stack

java - 使用 Hibernate/JPA 和 JDK Date 的不需要的自动时区转换

我使用Hibernate(4.2)作为我的持久性提供者,并且我有一个包含Date字段的JPA实体:@Entity@Table(name="MY_TABLE")publicclassMyTableimplementsSerializable{...@Temporal(TemporalType.TIMESTAMP)@Column(name="START_DATE")privateDatestartDate;publicDategetStartDate(){returnstartDate;}publicvoidsetStartDate(DatestartDate){this.startDat

java - Spring Data JPA 中的命名实体图 JOINS 结果(需要不同的选项)

我正在使用@NamedEntityGraph注释从数据库加载图形。@NamedEntityGraph(name="Firma.uredjivanje",attributeNodes={@NamedAttributeNode(value="prevodi",subgraph="prevodi")},subgraphs={@NamedSubgraph(name="prevodi",attributeNodes={@NamedAttributeNode(value="jezik",subgraph="jezik")})})在SpringDataJPA存储库中,我使用注释:@EntityGra

java - @IdClass 使用 JPA 和 Hibernate 生成 'Identifier of an Instance was Altered'

对于使用不区分大小写的数据库模式的JPA实体模型,当我使用@IdClass注释时,我始终会收到“实例标识符已更改”异常。对于主键为'string'的对象,当数据库中存在一个大小写的字符串,并使用相同的字符串进行查询,仅大小写不同时,就会出现错误。我看过其他SO答案,它们的形式是:a)不要修改主键(我没有)和b)你的equals()/hashCode()实现有缺陷。对于“b”,我尝试使用toLowerCase()和equalsIgnoringCase()但无济于事。[此外,Hibernate代码似乎是直接设置属性,而不是在发生“改变”时调用属性setter。]具体错误如下:Causedb

java - 错误无法注册 mbean java.security.AccessControlException : access denied ("javax.management.MBeanTrustPermission" "register")

例如启动Elasticsearch5.5时:主要错误无法注册mbeanjava.security.AccessControlException:访问被拒绝(“javax.management.MBeanTrustPermission”“register”) 最佳答案 OracleJava1.8.0_131的解决方法是打开文件/lib/security/java.policy并将此行添加到grant部分(即大括号之间):permissionjavax.management.MBeanTrustPermission"register";

java - JPA 最佳实践?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我正在开发一个使用JPA/EclipseLink作为持久层的小型多层应用程序。在我目前的设计中,我有两组对象,POJO和实体对象,我将POJO用于一般编程任务,实体类用于数据库读/写和表映射​​。现在是否需要POJO=>实体映射(有问题),然后是第二个实体==>数据库表映射(JPA注释)?我发现仅使用Entity类作为我的主要Java对象并在必要时保留它们更容易,毕竟所有Entity类本质

java - 如何处理锁(JPA)?

根据JavaPersistent/Lockingwikibooks*,最好的处理锁的方式就是向用户报告OptimisticLockError/Exception。问题是它不可扩展。假设我有很多用户,他们可能会通过相同的操作导致锁定。用户不关心锁定错误信息。简而言之:最好的方法是禁用所有锁?最好的方法是向用户报告错误锁定信息?但是用户必须重试他的操作直到它起作用!最好的方法是重试事务直到没有锁?*HandlingoptimisticlockexceptionsUnfortunatelyprogrammerscanfrequentlybetoocleverfortheirowngood.T

java - 如何使用 JPA 和 Hibernate 映射 PostgreSQL 枚举

我正在尝试将名为transmission_result的PostgreSQL自定义类型映射到Hibernate/JPAPOJO。PostgreSQL自定义类型或多或少是一种enum类型的字符串值。我创建了一个名为PGEnumUserType的自定义EnumUserType以及一个代表PostgreSQL枚举值的enum类。当我针对真实数据库运行它时,我收到以下错误:'ERROR:column"status"isoftypetransmission_resultbutexpressionisoftypecharactervaryingHint:Youwillneedtorewriteor

java - 如何在 JBoss 5.x 上使用 JPA2? (或如何消除类加载隔离问题?)

我希望JBoss只使用位于我的war文件中的依赖项。每次我部署这个war文件时,JBoss仍然使用它自己的jar。这是我使用的jboss-web.xml:my.package:loader=my-app.warjava2ParentDelegation=false和jboss-classloading.xml:JBoss5.1.0.GA 最佳答案 1>总结最初,我尝试过此类加载隔离,用于使用JBoss5.1.0.GA加载Hibernate3.6.4jar。这绝对不可能。后台有一些魔法可以阻止您使用任何支持JPA2的Hibernate