草庐IT

java - Eclipse 在我的 JPA 项目上报告错误

每次我创建一个JPA项目时,Eclipse都会报告我的项目中有错误,但我不明白为什么会这样。我在下面添加了图像和错误:DescriptionResourcePathLocationTypeColumn"id"cannotberesolvedontable"page"Page.java/BreakpointJPA/src/no/breakpoint/domainline14JPAProblemDescriptionResourcePathLocationTypeColumn"title"cannotberesolvedontable"page"Page.java/BreakpointJP

java - JPA:QueryCriteria where 子句中的谓词和表达式

我有一种情况,在我的where子句中只有一个谓词和表达式。两者都需要在where子句中进行ANDed:Expressioncol1=tableEntity.get("col1");ExpressionregExpr=criteriaBuilder.literal("\\.\\d+$");ExpressionregExprLike=criteriaBuilder.function("regexp_like",Boolean.class,col,regExpr);Expressioncol2=tableEntity.get("col2");PredicatepredicateNull=cr

java - 覆盖 Hibernate 注解

我正在开发一个使用Hibernate并连接到Oracle实例的Java应用程序。另一个客户希望使用相同的应用程序,但要求它在MSSQLServer上运行。我想避免对现有注释进行更改,而是创建一个我们可以根据环境放入的xml文件包。一种方法是使用JPAXML配置来覆盖现有的类注释。但是,JPA不支持通用生成器,这是由于我们遗留数据库的结构而产生的要求。我正在研究的另一种方法是使用HibernateXML配置重新映射整个类并访问generatorxml标记。但是这个解决方案有一些问题:Hibernate不允许您有选择地覆盖实体成员Hibernate不允许您重新映射相同的类(例如org.hi

java - hibernate 与 EclipseLink

我正在开始一个新的Web项目,我选择了JPA作为我的持久性ORM引擎。虽然我在上一个项目中使用了OpenJPA,但现在我想使用EclipseLink。为什么?它是JPA引用实现,它有很多文档并且在EclipseIDE中有很好的支持。此外,我找不到任何声明它们都不是最好的基准,因此性能不是一个因素(所有实现都有自己的优点)。但是,我想使用JSR-303验证规范,并且我选择了hibernate-validator(witch是Bean验证规范的引用实现)。另外,我用的是Spring,有很多Spring+Hibernate的例子,但是我还没有发现任何说Spring和Hibernate更好的观

java - 如何将枚举类型存储为小写字符串?

我的模型类(件):publicclassUser...{@Enumerated(STRING)privateStatusstatus;...publicenumStatus{ACTIVE,INACTIVE;@OverridepublicStringtoString(){returnthis.name().toLowerCase();}}...publicStringgetStatus(){returnstatus.name().toLowerCase();}publicvoidsetStatus(Statusstatus){this.status=status;}}正如您在上面看到的,

java - 如何使用 JPA 和 Spring Data 执行存储过程?

我试图在我的数据库中调用Terminal_GetTicket存储过程,但不断收到以下异常:PropertyReferenceException:NopropertygetTicketfoundfortypeTicketInfo我已经使用一个非常简单的测试实体对我的配置进行了交叉验证,一切似乎都工作正常,但对于实际情况,有些地方出了问题。这是我的域实体(TicketInfo):@Entity@NamedStoredProcedureQuery(name="TicketInfo.getTicket",procedureName="Terminal_GetTicket",resultClas

java - 选择更新跳过从 JPA 级别锁定

在我的应用程序-OraclewithJPA(EclipseLink)中,我使用以下表达式锁定某些表中的记录子集:select*fromMY_TABLEwhereMY_CONDITIONSforupdateskiplocked我在整个native查询中运行它,但我必须为所有必需的实体编写该查询。有什么方法可以使用纯JPA跳过锁定的记录吗?我可以实现自己的锁定策略吗?我不介意更改JPA提供程序,但我想使用JPAAPI。 最佳答案 Hibernate提供了UPGRADE_SKIPLOCKED锁模式。使用JPA和Hibernate,根据Hi

java - 在 @Table(name = "tableName") - 使 "tableName"成为 JPA 中的变量

我正在使用JPA,我需要将“tableName”设为一个变量。在数据库中,我有很多表,我的代码需要访问我指定要读取的表。@Entity@Table(name="tableName")publicclassDatabaseimplementsSerializable{...............}有什么想法吗? 最佳答案 我想,如果您担心的话,您可以这样做。从未尝试过,这只是一个疯狂的猜测。但这是通常的做法——我遵循命名查询;是的,那完全是另一回事。@Entity@Table(name=Database.tableName)publ

java - Hibernate 和 JPA 中的 @Entity 有什么区别

当我在编写示例Hibernate独立程序时,使用@Entity注释在我的脑海中产生了一些困惑。我的问题是,我有一个来自javax.persistence包的带有@Entity的持久类然后它工作正常但是当我用HibernateAPI替换@Entity注释时(即来自org.hibernate.annotations包)然后它给出org.hibernate.MappingException:未知实体:com.jetti.test.Employee非常感谢提供更多解释。 最佳答案 @javax.persistence.Entityissti

java - JPA 多对多,带有额外的列

我有以下问题需要解决。核心问题是我想在JoinTable中为JPA中的ManyToMany关系添加额外的列。就我而言,我有以下实体。Topic是一个简单的实体,它有许多RemoteDocument(一个RemoteDocument可能被许多Topic引用,因此它应该是ManyToMany关系)。RemoteDocument实体也是只读的,因为它只能从Oracle实体化View中读取,而且禁止对此实体化View进行任何更改。所以我想存储与某些主题相关的RemoteDocuments的顺序。事实上,我可以用额外的实体做类似的事情:@EntitypublicclassTopic{@Idpri