草庐IT

java - 为什么 JPA2 MetaModel 会生成带有 volatile 成员的对象?

我刚刚使用org.apache.openjpa.persistence.meta.AnnotationProcessor6为我的JPA2实体生成元模型。@javax.annotation.Generated(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="TueNov2209:49:03CET2011")publicclassEntity_{publicstaticvolatileSingularAttributeid;publicstaticvolatileSingularAttribute

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 - Spring Boot MSSQL Kerberos 身份验证

目前在我的springbootapplication.properties文件中,我指定了以下行以连接到MSSql服务器。spring.datasource.url=jdbc:sqlserver://localhost;databaseName=springbootdspring.datasource.username=saspring.datasource.password=Projects@123我不想提供用户名和密码,而是想使用kerberos对用户进行身份验证,我必须进行所有更改。我尝试在JPA官方文档中搜索但找不到任何内容。这里的线索表示赞赏。 最

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