草庐IT

java - 处理 "NOT IN (:param)"时的JPA setParameter

我正在尝试在我的查询中设置一个参数,例如:select*fromCarswhereCars.colorNOTIN(:color_params)当我在我的JavaClass中添加参数时:...query.setParameter("color_params","RED,BLUE");...这是行不通的,只适用于只有一个参数。我试过"'RED','BLUE'"并且没有工作。如果我将我的参数放入查询中,例如:select*fromCarswhereCars.colorNOTIN('RED','BLUE')我做错了什么!?提前致谢 最佳答案

Java JPA @OneToMany 需要返回@ManyToOne?

CreateTableA(IDvarchar(8),PrimaryKey(ID));CreateTableB(IDvarchar(8),A_IDvarchar(8),PrimaryKey(ID),ForeignKey(A_ID)ReferencesA(ID));鉴于我已经使用上面的SQL语句创建了两个表,并且我想为它们创建Entity类,对于类B,我有这些成员属性:@Id@Column(name="ID",nullable=false,length=8)privateStringid;@JoinColumn(name="A_ID",referencedColumnName="ID",n

java - Hibernate 和 JPA,用什么,用在哪里?

有人可以向我解释一下JPA和Hibernate之间的主要区别是什么吗?在哪里使用Hibernate?在哪里使用JPA?为什么不是实体bean? 最佳答案 一点历史:实体bean是EJB1和2的一部分。它们很难使用,因此需要一个替代方案。然后Hibernate出现了。(我不记得这些时间了)Hibernate发展成为对象关系映射中的事实上的标准。然后决定需要一个标准,因此创建了受Hibernate影响很大的JPA规范。JPA只是一个规范-它定义了ORM框架应该做什么,以及它应该支持哪些注释。JPA由许多供应商实现-Hibernate、E

java - 使用 createNativeQuery 调用 Oracle 存储过程

我需要使用JPA调用存储过程并找到这篇文章:http://www.oracle.com/technology/pub/articles/vasiliev-jpql.html解释了如何使用EntityManager.createNativeQuery。但是,该示例实际上调用了一个具有返回参数的函数。我试过搜索调用没有返回值的存储过程的示例,但没有找到任何内容。我可以使用createNativeQuery来调用过程吗?或者是否需要将过程修改为函数(可能返回成功/失败结果)?谢谢! 最佳答案 来自JPAwiki:1.4StoredProc

java - JPA (Hibernate) 准备好的语句的 native 查询慢

在JPA(以及JBoss5中包含的其余Hibernate包)后面使用Hibernate3.3.2GA时出现奇怪的性能问题。我正在使用native查询,并将SQL组装到准备好的语句中。EntityManagerem=getEntityManager(MY_DS);finalQueryquery=em.createNativeQuery(fullSql,entity.getClass());SQL有很多join,但其实很基础,只有一个参数。喜欢:SELECTfield1,field2,field3FROMentityleftjoinentity2on...leftjoinentity3on

java - EntityManager 真的是线程安全的吗?

我这里说的是基本用法:@StatelesspublicclassBookServiceBeanimplementsBookService{@PersistenceContextEntityManagerem;publicvoidcreate(Bookbook){this.em.persist(book);}}谷歌搜索上述问题,StackOverflow说yes,butno-接受的答案是肯定的,但跟进的是否;Spring.io说bothyesandno,而AdamBien似乎是JavaEE专家,给出了一个unqualifiedyes.我自己使用简单调度bean的经验表明答案是否定的:@S

java - 如何在 jersey/hk2 应用程序中正确配置 EntityManager?

我有一个使用JPA持久性的jersey-2/hk2应用程序。EntityManager在启动时像这样绑定(bind)publicMyApplication(){//...register(newAbstractBinder(){@Overridepublicvoidconfigure(){bindFactory(EmFactory.class).to(EntityManager.class).in(RequestScoped.class);}});}工厂类是publicclassEmFactoryimplementsFactory{privatestaticfinalStringPER

java - 如何使用 JPA 从 PostgreSQL 读取 bytea 图像数据?

我有PostgreSQL数据库,并且有一个数据类型为“bytea”的列“image”。我无法修改列或数据库配置。JPA注解的POJO包含跟随映射@Column(name="image")privatebyte[]image;返回的数据格式如下(这只是一个示例)WF5ClN6RlpLZ0hJTUdNQ1FJWmkwcFVGSUdNQ0lDWUE5TUEvanRFeElwK2x0M2tBQUFBQVNVVk9SSzVDWUlJPQo=当我将此数据写入文件(.jpeg)时,照片查看器显示“这是损坏的文件”。我也明白实际的图像字节数据看起来与上面的示例不同。我读了一些博客,其中提到Postgr

java - 在 JPA 中使用保留的 JPQL 关键字

我有一个名为“Group”的实体类,NetBeans警告我“实体表名称是保留的JavaPersistenceQL关键字”。类似的情况是使用保留的SQL关键字。这个名字会被转义吗?使用不同的表名是否可以解决问题@Table(name="otherName")。还是我应该重命名类(class)? 最佳答案 Willthisnamebeescaped?JPA规范中没有这样说,如果您的提供者这样做,那是特定于提供者的。Wouldtheuseofadifferenttablenamesolvetheproblem@Table(name="ot

java - JPA 查询语言 criteriaBuilder

我在EJB容器中使用JPA构建了一个应用程序。这是我的代码@PersistenceContext(unitName="damate-pu")privateEntityManagerem;@OverridepublicWorkspacefind(Stringusername,Stringpath){CriteriaBuildercriteriaBuilder=em.getCriteriaBuilder();CriteriaQuerycriteriaQuery=criteriaBuilder.createQuery(Workspace.class);Rootfrom=criteriaQue