Java EE 6+;JPA-异常:消息驱动Bean不能被管理

我创建了一个企业应用程序CustomerApp,它还生成了两个项目CustomerApp ejb和CustomerApp war。在CustomerApp ejb中,我创建了一个SessionBean调用CustomerSessionBean.java,如下所示 package com.customerapp.ejb; import javax.ejb.Stateless; import javax.ejb.LocalBean; import javax.persistence.EntityM

JPA中是否可能存在SQL注入攻击?

我正在使用JavaEE6和JSF-2.0构建一个JavaWeb应用程序,对所有数据库操作使用持久性API 后端是MySQL,但我在EJB-QL中为所有操作使用了EntityManager函数和命名查询。在这种情况下可能发生SQL注入攻击吗?是的,可能发生。这取决于您的实施方式。 看一看 只有在SQL/JPQL字符串中内联用户控制的变量时,才可能这样做: String sql = "SELECT u FROM User u WHERE id=" + id; 如果您不这样做,并且只使用参数化/命名

JPA2“member of”语法不适用于超类的成员

基本上,我有一个命名查询findServerWithNic,它拒绝工作: @Entity @Table(name = "vnm_server") @DiscriminatorValue("S") @NamedQueries({ @NamedQuery( name="findServerWithNic", query="SELECT s FROM Server s, Nic n "+ "WHERE n.id = :nicId

如何通过JPA GROUP BY获得选择值和计数值?

如果我的实体是get as Man,它有名称、id属性,以及JPA我如何获得像这个查询一样的检索结果 entityManager.createQuery("SELECT m.name AS name, COUNT(m) AS total FROM Man AS m GROUP BY m.name ORDER BY m.name ASC"); 有没有办法将org.springframework.jdbc.core.RowMapper与JPA一起使用?执行此查询时,您将检索对象[]的列表,而不是像

Jpa 如何在@PreUpdate中处理事务回滚

我想在持久化/更新实体之前验证它们。为此,我使用@PrePersist和@PreUpdate注释并抛出异常以回滚事务。然后我捕获异常并通知用户实体无效。@PrePersist的一切都很好,但是@PreUpdate会在我捕获异常之前向日志中注入警告和堆栈跟踪 测试实体: @Entity public class TestEntity implements Serializable { private static final long serialVersionUID = 1L;

Jpa JSF2和x2B;EJB3+;使用用户控件提交或回滚CRUD?

我正在开发一个基于JSF2和Glassfish 3.1的JavaEE应用程序。应用程序必须在数据库表上提供CRUD操作。数据库表数据使用具有incell编辑行为的primeface数据表显示。 我想让用户 修改、添加和删除表中的元素,并 仅在用户确定其更改时提交(按命令按钮) 当用户想要放弃其更改时回滚 该表有一个实体,无状态EJB负责与entityManager的接口以访问数据库 问题是每次我删除表中的一行时,事务都会被提交,而用户没有任何控制权 如何实现这种用户对提交/回滚的控制?用户操

Jpa 重新启动后首先加载持久化对象的列表

代码 类列表{ @OneToMany(targetEntity=ShoppingItemStatus.class, cascade=CascadeType.ALL,fetch=FetchType.LAZY) 私有列表项=新的ArrayList() } 你好, 我正在使用eclipselink和Glassfish,我遇到了一个非常恼人的错误 我坚持一个目标 我正在读取对象列表(包括新对象) 新对象的“项”不包含任何项 然后我重新启动服务器: 所有项目均正确包含。我不能真正理解这个错误,因为在步骤2

EAR can中的EJB3代码';看不到EJB客户端jar(在/lib中)中定义的JPA实体(抛出“java.lang.IllegalArgumentException:非实体:”)

我已将我的EJB3代码分解为: (i) 用于构建“”的业务逻辑接口和POJO实体bean,以及 (ii)业务逻辑代码,用于实现业务接口并使用数据库执行JPA 部署的平台是JBoss AS7.1和Hibernate JPA 其思想是EJB客户机jar是一个接口,它也将与访问业务逻辑代码的war一起部署。我将EJB3业务逻辑代码部署为EAR,内部没有WAR(独立部署WAR)。因此,顶级业务逻辑EAR的结构如下所示: . ├── lib │ ├── commons-lang3-3.1.jar │

Jpa JPQL-谓词和标准API

我想写一个基于两列计算的谓词。 例如,我有一个介于(int)和lastssent(date)之间的daysbeen 我想知道是否有可能执行以下查询: 从X中选择上一次发送的位置+[某个其他列为间隔]lessThan now() 类似于(我现在认为这不是正确的写作方式…) builder.between(userData.get(“lastssent”).addDays(userinterval.get(“interval”)),DateUtils.now(); 是否有必要使用谓词编写这样的查询

Jpa 为映射的超类创建表时出现NullPointerException

我将其追溯到getDatastoreClass,该类向createPerImplementationColumnsForReferenceField返回空数据存储类 我尝试了3.1.1版本,现在使用3.2.0-m4版本,希望能解决我的问题 RDBMSStoreManager#getDatastoreClass(String className, ClassLoaderResolver clr); 它正在将空数据存储类返回给 ReferenceMapping#createPerImplement

Jpa EclipseLink从表中删除反向realtion

我正在使用Eclipselink 2.5 我有3个实体关系正在讨论中。评审组,评审和工件。场景是我创建了一个Review_组,然后创建了一个Review_组和一个工件,现在我去更新我的Review_组并添加一些用户作为组的成员。它创建了用户并添加了成员,但它也更新了Review表并删除了Review_组,更新了工件表并删除了Review id 工件可以是任何评论组或评论的一部分 评审组与评审和工件的关系 @OneToMany(mappedBy = "reviewGroup", cascade =

Jpa WebLogic OSGi中的事务

我正在构建一个部署在WebLogic中的web应用程序,它还使用许多OSGi模块,在部署web应用程序期间部署在WebLogic OSGi(Felix)中 根据需要,我可以选择公开我在OSGi内部WebLogic中创建的任何数据源,以便从我的包中使用它们。因此,我创建了一个数据源,并在我的OSGi包中使用persistence.xml来查找它,并(使用Blueprint)在我的OSGi服务中注入一个EntityManager来使用它。我的OSGi捆绑包的配置如下所示: persistence.x

如何使用JPA查询排除集合

我正在用JPA创建一个数据库查询,需要从结果中排除一个列表。 我该怎么做 public List<PersonEntity> getPersonsWithoutNotWanted(List<Long> notWantedId ) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<PersonEntity> cq = cb.createQuery(PersonEntity.

ServiceMix 5.3.0 JPA发行版

我在ServiceMix中启动jpa包时遇到问题。使用EntityManager注入时会出现问题,而EntityManager工厂的注入工作正常。知道怎么了吗 My persistence.xml: <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xm

Jpa EclipseLink-非实体作为关系属性中的目标实体

我正在使用Netbeans IDE 8.0.2和eclipselink 2.5.2。 在打开连接时会出现以下异常,问题是这种情况并非每次都会发生。 异常“Departmento”中描述的实体完全遵循其他类的模式,即我们的系统已经包含大约500个实体类,并且只有在新类中才会发生此异常。 该实体由Netbeans的“EntityClassesfromDatabase”选项生成,并添加到PersistenseXML 原因:javax.persistence.PersistenceException:E

同时使用JPA和JDBC

在我的项目中,我们正在将一个旧的J2EE应用程序升级到JavaEE6。 由于业务逻辑相当复杂,我们希望尽可能多地保留EJB+DAO代码。旧代码使用普通JDBC进行数据库持久化 但在我们新的/升级的应用程序中,我们计划使用JPA。 我们希望对数据库的所有读取操作使用JPA,对写入操作(插入/更新/删除)使用JDBC。在同一笔交易中是否可以这样做 例如: 获取实体经理引用,并使用实体经理查找(或命名查询)从数据库(员工实体)读取员工记录 将实体实例转换为POJO 更新POJO 在POJO上执行一些

Vaadin JPA容器-未进行任何交易

我一直试图在JBoss中将Vaadin JPA容器与JTA数据源一起使用,但在提交一个字段组时,我不断遇到这个错误:“没有事务正在进行” 这是我的persistence.xml <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca

XSD到JAXB到JPA的映射

首先,我有一组固定的非平凡XSD——我不能更改它们,但它们会不时地进行一些小的更改。这些用于在我这边生成JAXB2类,没有问题。我需要将这些Java类的许多属性持久化到RDBMS中,在RDBMS中我可以设计模式,但它们需要是最优的,因此我不能遵循原始结构,应该扁平化嵌套较深的结构,等等 我考虑过使用Eclipselink JPA(我可以使用它的扩展,这里我的目标不是兼容性)并通过orm.xml文件定义所有映射——这样我就不必接触自动生成的JAXB类。在大量使用嵌入式概念的基础上构建解决方案有助于

如何在jpa查询中过滤左连接

我遇到问题,无法返回JPA对象。我有客户和地址,客户可以有零个或多个地址。我还软删除项目。此查询有效,除非没有返回地址,否则我无法返回客户详细信息(返回null) 因此,我将我的查询设置为: select c from Customer c left join fetch c.createUser left join fetch c.lastUpdateUser left join fetch c.addressBook a where c.id = 1 and c.markForDele

jpa合并谓词数组+;搜索外键值

我想进行如下搜索: Select * From Users where ( ( username Like %criteria% OR firstName Like %criteria% ...) AND (CarId = carId) ) 我将2个谓词组合到一个数组中,但只需要使用1个谓词 @Entity @Table(name = "users", uniqueConstraints = { @UniqueConstraint(columnNames = { "username" })

Jpa Can';我找不到阿奎利安的持久单位

我用Arquillian和一个远程Glassfish实例设置了一个单元测试: @RunWith(Arquillian.class) public class ClientTest { @EJB private ClientService client; @Deployment public static Archive<?> createDeployment() { return ShrinkWrap.create(WebA

JPA&x27;s EntityManager createQuery()与createNamedQuery()与createNativeQuery()的比较

有人能给我解释一下JPA的EntityManager的以下方法之间的区别吗 createQuery() createNamedQuery() createNativeQuery() 并向我解释在哪些情况下我们应该使用哪种方法? createQuery方法用于创建动态查询,这些查询是直接在应用程序的业务逻辑中定义的查询。 例如: createNamedQuery方法用于创建静态查询,或使用javax.persistence.NamedQuery注释在元数据中定义的查询。@NamedQuery

如果希望JPA persistence.xml也适用于EclipseLink,那么从JPA persistence.xml中提取属性值的最佳方法是什么?

我意识到自己总是可以解析persistence.xml,但我想知道是否有更好的方法从persistence.xml中提取属性,例如数据库驱动程序/url/user/password的值,以一种既适用于Hibernate又适用于EclipseLink(希望所有其他实现也适用)的方式 我想您应该能够使用方法“EntityManagerFactory.getProperties()”来实现这一目的,但是EclipseLink中可能有一个bug 当我使用“/META-INF/persistence.xm

JPA条件联接查询

我已经编写了一个复杂的JPA2标准API查询,我的提供者是EclipseLink,在这里我发现自己反复使用相同的子查询。除非DB Oracle做了一些聪明的事情,否则我认为每次在查询中找到子查询时都会执行它。我正在寻找一种只执行一次子查询的方法 我们有字段级访问,这意味着如果满足某些条件,用户可以看到DB列。在下面的示例中,用户具有以下访问权限: 如果结果属于类别1,则列_1可见 如果结果属于类别2,则列_2可见 如果结果属于类别1或类别2,则列_3可见 这是一个伪查询: 选择T.PK 从我的桌

Jpa 从GF 3.1.2迁移到Payara 4.1.1后的日食异常

我正在将项目表GF 3.1.2(Eclipselink 2.3.2)迁移到Payara 4.1.1.162(Eclipselink 2.6.2) 在部署war存档期间,我遇到以下异常: 异常描述:PersistenceUnit[objsetupDB]的预部署失败。 内部异常:java.lang.ClassCastException:org.eclipse.persistence.Internal.jpa.metamodel.EntityTypeImpl不能强制转换为org.eclipse.pe

Spring JPA java.lang.IllegalStateException:未从{classpath*:META-INF/persistence.xml}解析任何持久性单元

我现在面临的是Spring JPA的以下问题。我已经完成了没有xml的java配置 我得到“java.lang.IllegalStateException:没有从{classpath*:META-INF/persistence.xml}解析的持久性单元” 下面是我的应用程序配置类 package co.in.desertlamp.configuration; import java.util.Properties; import javax.annotation.Resource; impo

JPA如何在联接中聚合列

我试图在JPA中实现这样的查询: SELECT ta.field_aggr_1, ta.field_aggr_2, MIN(tb.date_inv) AS min_date_inv, MAX(tb.date_inv) AS max_date_inv FROM table_a ta INNER JOIN table_b tb ON ta.idB = tb.id GROUP BY ta.field_aggr_1, ta.field_agg

Jpa Tomcat服务器没有响应

我是JPA和java Web应用程序开发新手。请帮助我 概述: 我正在使用ApacheTomcat服务器[Version7.0.70]开发一个java web应用程序。它是一个多用户系统 平台:JVM Java 1.7 框架:JPA 数据库:我的Sql工作台6.3 Jars:MySQL连接器和Eclipse链接 问题: 将war文件部署到服务器后,10个客户端将使用10个唯一的登录会话并行访问服务器。过了一段时间[不确定]服务器不再响应,数据库操作也不工作。 在此之后,需要重新启动tomcat服

按列表中的元素查找的JPA查询方法?

我有以下两个实体(联系和参与,通过多种关系联系): @实体 公共类联系人{ @身份证 @GeneratedValue(策略=GenerationType.IDENTITY) 私人长id; @列(nullable=false) 私有字符串名; @列(nullable=false) 私有字符串lastName; @许多酮 私营公司; @ManyToMany(fetch=FetchType.EAGER) 私人名单参与; } @实体 公众课堂参与{ @身份证 @GeneratedValue(策略=Gen

WebSphereV9EclipseLink JPA v2.1二级缓存文档在哪里?

我们正在将are应用程序从WAS 8.5.5+JPA2.0+Hibernate迁移到WAS v9.0(ND+liberty)+JPA v2.1和eclipselink捆绑实现 问: 当使用默认捆绑JPA 2.1实现(即eclipselink)时,如何使用WAS v9.0(以及Liberty v16.0.0.4)配置二级缓存? 以及如何将其复制到其他集群成员(可能使用distributedmap?) 我在中找到的唯一一个文档是v9.0知识中心关于JPA2.0和openjpa:首先,你想从JPA2.

JPA EclipseLink,将列表作为位置参数传递给NamedNativeQuery

因此,命名的参数不被本机查询所接受并且它们不允许列表作为参数,我在想,如果我将列表“解析”为逗号分隔的字符串,我可以将该字符串传递给参数中的,这可能吗 @NamedNativeQuery( name = "Client.findTestWidgetResultList", query = "" + "SELECT DISTINCT sa.event_user_id, " + " C

Jpa 如何在多租户web应用程序中设置UserTransaction Eclipselink/Glassfish

我花了很多时间来回答这个问题,我的项目涉及WEB-APP/多租户 日食 玻璃鱼v4.1 多租户的持久性使用:每个租户的持久性单位(根据eclipselink文档: persistence.xml si设置如下: <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc

Jpa 在同一查询中按计数和按查找

我试图使用一个JPA方法名构建一个查询,该方法根据一个参数查找所有结果,然后根据第二个参数进行计数 假设我有如下数据: 是谁说的 1 |苹果|人1 2 |香蕉|人1 3 |苹果|人1 4 |苹果|人2 我想传入一个“谁说的”字符串,然后收到一个独特单词的直方图,以及他们说了多少次。因此,如果我输入“Person1”,我想接收: 苹果:2 香蕉:1 如何将findByWhoSaidIt(字符串whoSaidIt)与countByWord结合使用?只需将@Query注释与本机SQL查询结合使

Jpa 在spring数据中使用@Transactional正确提交到数据库

我有一个测试函数,它应该执行以下任务 将数据插入数据库 查询数据库并验证数据是否符合预期 问题是,在我的测试中,数据没有提交到db,就像它被困在某个事务步骤中一样,我如何确定在执行第二个查询之前提交数据 这是我测试函数的一部分,@rollbackalse只是用于开发阶段 @Test @Rollback(false) .... reportJobManager.saveOutput(savedDef, pipeline, results, null) reportJobManager.retryR

Spring数据JPA-子对象的选择性持久化

我在用户和角色表之间有@ManyToMany关系。还有一个名为user_role的映射表,id分别为user和role。下面是我在用户表中的当前映射 @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinTable(name = "user_role", joinColumns = @JoinColumn(name="user_id"), inverseJoinColumn

Jpa 是否有一种基于列表更新数据库字段的方法?

使用JPA,我有一个数据库中的条目列表: User(id, firstname, lastname, email) 我通过这样做得到: List<User> users = User.find("lastname = ?", "smith"); 然后将参数“list”设置为users 可能吗?如果是,怎么做 感谢您的帮助:)如果您有jpa+hibernate,您可以使用entityManager.createQuery()创建hql查询 就像这样: String hql = "U

Jpa 持久化OneToMany实体会产生javax.faces.el.EvaluationException:javax.ejb.EJBException

当我尝试save方法时,它会给我一个错误,但是当我尝试手动将数据直接插入数据库时,它工作正常。请问在我的managedbean类中是否有我没有添加或看到的内容?请帮助保持解释尽可能简单明了。谢谢 @Entity @Table(name = "state") @NamedQueries({ @NamedQuery(name = "State.findAll", query = "SELECT s FROM State s"), @NamedQuery(name =

JPA:在非id列上使用@GeneratedValue

我试图持久化一个实体,该实体具有我希望从DB序列填充的属性。我使用的是Oracle,已经创建了序列,通过sql验证了序列的有效性,但是我的属性没有得到填充。以下是我所拥有的: @GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE", strategy=GenerationType.SEQUENCE) @SequenceGenerator(name="RFQ_LINE_IDS_SEQUENCE", sequenceName="RFQ_LINE_IDS

Jpa 为什么赢了';当使用createNativeQuery时,我的EJB实体不能使用非关系表吗?

我正在尝试将实体与MySQL ndbcluster表一起使用。此表类型不允许外键,但到目前为止,我的实体没有问题 但是,当我尝试使用EntityManager的createNativeQuery方法加载实体时,遇到了一点问题。由于无法做到这一点,我需要使用此方法: 我的MySQL表如下所示: CREATE TABLE `category` ( `id` SMALLINT(6) NOT NULL AUTO_INCREMENT, `category_id` SMALLINT(6) N

Jpa 注入的EntityManager在其事务上下文为TransactionAttributeType.NOT_的EJB中具有什么类型的事务上下文?

假设我有一个EJB,其注释为: @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) 进一步假设它有一个EntityManager: @PersistenceContext private EntityManager em; 如果我在EntityManager上执行各种操作,是否会为每个此类操作启动并提交资源本地事务?还是会有一个适合所有人的?还是JPA规范没有定义这种行为?我在JPA2.0规范或EJB3.1规范中都找不到

Jpa JPQL:从多表达式选择中获取结果

以下是我的JPQL查询: SELECT p, exists( select dp from DocumentPublication dp where dp.documentVersion = p) FROM DocumentVersion p where document.id = :id 以下是获得结果的代码: Query query = getEntityManager().createNamedQuery("DocumentVersion.find

Jpa JPQL“DISTINCT”只返回一个结果

我对JPQL中的DISTINCT感到困惑。我有两个相同的JPQL查询,除了其中一个中的DISTINCT: String getObjectsForFlow = "SELECT " + " se.componentID " + "FROM " + " StatisticsEvent se " + "WHERE " + " se.serverID IS NOT NULL " + " AND se.flowID = :u

Jpa 有没有一种方法可以转换spring数据存储库返回的对象?

现在我有一个实体对象和一个DTO。当我执行一个简单的示例(如:findById())时,存储库返回一个对象数组列表。是否有一种方法可以轻松地将返回类型映射为自定义DTO对象,而不是始终返回实体对象 示例如下: @Query("Select f.id, f.name from Food f where f.id = :id") public List<Object[]> findById(@Param("id") String id); 现在我只能让存储库返回一个列表类型。试试这个

Spring boot jpa只能从多个数据源访问主数据源

试图在spring boot内使用以下2个数据源: 数据库配置: //没有小学 @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "rwEntityManagerFactory", transactionManagerRef = "rwTransactionManager", basePackages = {"com.cvs.dvp.r

Jpa 当试图编织类时,EclipseLink抛出ArrayIndexOutOfBoundsException

我已经有了play框架应用程序(2.3.8),我为其提供了eclipselink-2.5.1.jar代理。在启动期间,我在日志中看到: Weaver在尝试编织类时遇到异常 [我的一个JPA实体类]。例外情况是: java.lang.ArrayIndexOutOfBoundsException:30053 我如何调查问题的原因 可能有什么问题 更新: 因此,将日志记录更改为finest给了我一个堆栈跟踪: EL Finest]: weaver: 2015-07-16 20:52:31.163--S

Jpa 如何使用params在jpql中获取元组

现在我使用JPA访问数据库。我希望获得特定课程和特定课程中的注释,因此sql希望: select * from comment where (commentType, commentId) in (("course", "1"), ("lesson", 2)) @Query("select c from Comment c where (c.commentType, c.commentId) in :attaches") Page<Comment> findByAttachIn(@

Jpa NoResultException:getSingleResult()未检索任何实体。QueryImpl.throwNoResultException

我们在payara 164应用服务器中部署了一个java web应用程序。 主机是debian 9.3服务器,使用的数据库是mariadb-server-10.1,java版本是“1.8.0131” 最近我们面临着一些问题,其中一个问题如下。它只是一个实例,因为它与许多其他对象一起随机发生,即使它们确实不是空的,但已正确填充 javax.ejb.EJBTransactionRolledbackException位于dmlm.models.entities.User.getCustomer(Use

未在子对象-JPA中填充父Id

我的要求是,当用子对象列表保存父对象时,它应该同时保存父对象及其子对象 问题是它并没有在子对象中设置父id,尽管父对象和子对象的记录都被添加到数据库中。以下是我的课程详情: 父类: public class View implements Serializable { private static final long serialVersionUID = -1L; private String id; private String name; private

  1    2   3   4   5   6  ... 下一页 最后一页 共 44 页