草庐IT

java - Hibernate 4.0 的 MultiTenancy 和 Separate Schema 方法

我使用EJB3.0和Hibernate4以及PostgreSQL作为我的数据库服务器来创建一个Multi-Tenancy系统,其中每个租户都有独立但相同的模式。我仍处于试用阶段,我有3个方案public、company1、company2都有一个表人。现在我想做的是根据用户在运行时更改模式,以便他只能查看他/她公司的数据。这是我的示例代码:实体对象:packagecom.neebal.domain;importjava.io.Serializable;importjava.lang.Long;importjava.lang.String;importjavax.persistence.

java - 在 Spring data JPA 中,如何设置属性表达式的优先级?

我有这个JPA查询方法:findByZzzAndXxxOrYyy给出的结果是:findBy(ZzzAndXxx)OrYyy//"And"获得更高的优先级我可以得到结果吗?findByZzzAnd(XxxOrYyy)//“或”获得更高的优先级我想我可以用其他查询类型(例如native)来做到这一点但我想知道我是否可以通过添加下划线或符号或其他东西来设置优先级... 最佳答案 如果我没理解错的话,您应该是在编写一个查询,因此您必须确保要首先执行的任何操作都应该包含在括号中以获得所需的结果。例如我有表DEMO,其中Demo是具有字段a、b

java - 如何使用 JPA Criteria API/Hibernate 按 Case 语句分组

我正在尝试执行如下查询,通过case语句进行选择并通过相同的case语句进行分组..SelectUSER,(CASEWHENvaluebetween0AND2then'0-2'WHENvaluebetween3AND4then'3-4'ELSE'5+'END)asCASE_STATEMENT,SUM(value).....Groupbyuser,CASE_STATEMENT使用JPA2.0CriteriaAPI和Hibernate。我的测试用例看起来像...CriteriaBuildercb=em.getCriteriaBuilder()CriteriaQuerycq=cb.creat

java - 在 hibernate/jpa 最佳实践问题中将分离的或新的实体与现有实体合并

当业务层创建一个新实体时,它在逻辑上表示应该更新的现有实体的实例(假设它们共享相同的业务key),这种方法是否合并了不良做法?publicUseradd(Useruser){UserexistingUser=getUserDao().findByBusinessKey(user.getBusinessKey(),false);user.setId(existingUser.getId());user=getUserDao().merge(user);returnuser;}我问是因为在分离的实体上显式设置ID对我来说感觉很奇怪,但即使适本地实现了用户实体的equals和hashcode

带有 JPA + Hibernate(或类似)和 Apache Derby 嵌入式数据库的 Java 独立应用程序

我想创建一个将使用ApacheDerby嵌入式数据库的Java独立Java应用程序。我想使用JPA,因为我对它非常熟悉并且可能已经超过了Hibernate(但如果想要更简单,也欢迎使用其他人)。有没有在Derby嵌入式数据库上使用JPA而不是Hibernate的示例?我四处搜索,但找不到任何有用的示例代码。我想要一个教程之类的东西,它会告诉我需要在我的类路径中添加哪些库,哪些是基本文件以及我需要做什么。 最佳答案 如果您使用Maven进行构建,则可以使用derby-maven-plugin,这是我写的,可以在GitHub和Maven

java - JPQL Hibernate NULLS LAST 被忽略

已更新-请在评论中查看答案我知道CriteriaQuery.orderBy不支持NULLSLAST。我试图使用TypedQuery并注意到它似乎只是忽略了“NULLSLAST”之后的所有内容-不会抛出任何错误,只是忽略它:Stringsql="SELECTcFROMContactcWHEREc.partnerCode=:pCodeandc.activeFlag='Y'"+"ORDERBYc.primaryFlagDESCNULLSLAST,c.lastNameASC";TypedQueryquery=em.createQuery(sql,Contact.class);query.set

java - OneToOne + 无 Foreginkey + 单向 + Datamissing => EntityNotFoundException

在遗留系统中,我们有1个表(实体)和1个View(UserDetail),没有约束但有关系。Entity|Id|Desc|Created_By|...UserDetail|UserId|F_Name|L_Name|...CreatedBy具有创建该实体的用户的用户ID。我们在Entity.java中有一个单向映射,如下所示。@OneToOne@JoinColumn(name="CREATED_BY",referencedColumnName="USER_ID")privateUserDetailcreatedBy;问题但由于它是遗留系统,我们无法控制它并且用户被硬删除。调用entity

java - Flyway自动生成迁移SQL

当通过Java代码添加新模型/字段等时,JPA/Hibernate的自动模式生成是否可能生成新的Flyway迁移。捕获自动生成的SQL并将其直接保存到新的Flyway迁移中,以供审查/编辑/提交到项目存储库。预先感谢您提供的任何帮助或启发。 最佳答案 如果您选择的IDE是IntelliJIDEA,我建议您使用JPABuddy插件来做到这一点。它可以通过将您的Java模型与目标数据库进行比较来生成Flyway迁移。您可以使用它来使不断发展的模型和SQL脚本保持同步。此外,如果您的数据库为空,它还可以创建初始化脚本。一旦你安装了它并将F

java - JPA 复合主键

这个问题在这里已经有了答案:MappingManyToManywithcompositePrimarykeyandAnnotation:(2个答案)关闭7年前。我的JPA模型中有以下类(省略了getter、setter和不相关的字段):@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicclassCurrency{@IdprivateIntegerix;}@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicclassProd

java - JPA中的调用方法

我将ObjectDB与JPA结合使用。我想调用myMethod()。例如:entityManager.createQuery("SELECT...FROM...WHEREMyClass.myMethod()=100")这可能吗?也许在类中的方法之前需要任何注释?@EntitypublicclassMyClassimplementsSerializable{@Basicprivateintx;@Basicprivateinty;publicintmyMethod(){returnx*1000+y;}} 最佳答案 JPQL不完全是一种基