小编Dar*_*gue的帖子

与连接表的一对多关系

我有一个使用连接表建模的一对多关系:

create table t1 (id int primary key, name varchar(10) /*...*/);
create table t2 (id int primary key, name varchar(10) /*...*/);
create table t1_t2 (t1_id int, t2_id int, primary key (t1, t2));
Run Code Online (Sandbox Code Playgroud)

这些表应该模拟一个t1到多个t2的关系.使用JPA对这些表建模的正确方法是什么?

java persistence jpa

34
推荐指数
1
解决办法
5万
查看次数

JPA @OneToMany和复合PK

我正在研究JPA项目.我需要在具有三个主键的类上使用@OneToMany映射.您可以在此之后找到错误和类.

    javax.persistence.PersistenceException: No Persistence provider for EntityManager named JTA_pacePersistence: Provider named oracle.toplink.essentials.PersistenceProvider threw unexpected exception at create EntityManagerFactory: 
javax.persistence.PersistenceException
javax.persistence.PersistenceException: Exception [TOPLINK-28018] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException
Exception Description: predeploy for PersistenceUnit [JTA_pacePersistence] failed.
Internal Exception: Exception [TOPLINK-7220] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.ValidationException
Exception Description: The @JoinColumns on the annotated element [private java.util.Set isd.pacepersistence.common.Action.permissions] from the entity class [class isd.pacepersistence.common.Action] is incomplete. When the source entity class uses a composite primary key, …
Run Code Online (Sandbox Code Playgroud)

persistence jpa primary-key many-to-one

9
推荐指数
2
解决办法
3万
查看次数

JPA TABLE_PER_CLASS继承:如何只选择SELECT超类条目?

我正在使用EclipseLink作为JPA提供程序.此外,我正在使用以下TABLE_PER_CLASS继承结构

@javax.persistence.Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@NamedQueries({
    @NamedQuery(name=Parent.QUERY_FIND_ALL, query="SELECT p FROM Parent p")
})
public class Parent {
        // the class code follows here
}

@javax.persistence.Entity 
@NamedQueries({
    @NamedQuery(name=Child.QUERY_FIND_ALL, query="SELECT c FROM Child c")
})

public class Child extends Parent {
        // the class code follows here
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是我只想接收父类的条目.但是使用命名查询"SELECT p FROM Parent p",也会返回子表中的所有条目.

选择或查找代码如下:

public List findWithNamedQuery(String query) {
        return em.createNamedQuery(query).getResultList();
}
Run Code Online (Sandbox Code Playgroud)

因此查询即"SELECT p FROM Parent p".

我怎样才能真正接收父条目而不是这个inheritacne层次结构的所有条目?

简而言之:如何保持所有子条目不受影响,并仅返回父条目?

编辑1:
我正在使用EclipseLink 2.0.1,但每次我通过类型表达式尝试axtavt的解决方案时,我都会收到以下错误:

"Invalid Type Expression on [my.domain.Parent].  The class does not have …
Run Code Online (Sandbox Code Playgroud)

inheritance jpa table-per-class

6
推荐指数
2
解决办法
8616
查看次数

如何从 Java (Spring boot) 应用程序向 Prometheus 公开指标

我的 Spring-Boot 应用程序只有一个计数器指标。我只是不知道如何将这些信息发送给 Prometheus。我正在使用 Maven(构建工具)和 Spring Boot(Java)。

instrumentation maven spring-boot grafana prometheus

5
推荐指数
1
解决办法
1万
查看次数

在JSF 2的AjaxBehaviorEvent中捕获KeyCode

我有一个JSF ajax keyup事件链接到支持bean中的事件列表器.

JSF文件中的代码如下所示.

<h:inputText id="txtDescription" value="#{institutionController.current.description}" disabled="#{institutionController.modifyControlDisable}" >
    <f:ajax event="keyup" listener="#{institutionController.changeDetailsEvent}" />
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

支持bean中的代码如下所示.

public void changeDetailsEvent(AjaxBehaviorEvent event) {
}
Run Code Online (Sandbox Code Playgroud)

我希望根据按键实现不同的逻辑,如下所示为伪代码.

public void changeDetailsEvent(AjaxBehaviorEvent event) {
    If (event.key = Key.enter) {
        do something;
    } else if (event.key = Key.Escape) {
        so something else;
    } else {
        do nothing;
    }

}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我这是如何在支持bean中完成的吗?

java ajax jsf java-ee

3
推荐指数
1
解决办法
5752
查看次数

JSF inputText必需属性不呈现

在使用Moharra JSF 2的JBoss AS 7.1.1上,使用inputText元素创建的XHTML文件不会呈现该属性required="true".

没有错误,但输出HTML不包含必需的属性.如果编写纯HTML输入元素,则必需属性将呈现为JSF表单的一部分.任何人都知道为什么这个属性会被删除?该案例是一个容器管理的登录表单,因此没有支持bean.提前谢谢了.

html forms jsf

3
推荐指数
1
解决办法
1863
查看次数