我有两个实体AuthorizationPosition和ProductAttributes一个WildflyEE项目.两者之间的映射如下:
AuthorizationPosition:
@javax.persistence.ManyToOne(fetch = javax.persistence.FetchType.LAZY , optional=false, cascade = {javax.persistence.CascadeType.ALL})
@javax.persistence.JoinColumn(name = "PRODUCT_ATTRIBUTES_ID", referencedColumnName="PRODUCT_ATTRIBUTES_ID")
protected org.example.persistence.entity.ProductAttributes productAttributes;
Run Code Online (Sandbox Code Playgroud)
产品属性:
@javax.persistence.OneToMany(
targetEntity=org.example.persistence.entity.AuthorizationPosition.class,
mappedBy="productAttributes",
fetch=javax.persistence.FetchType.LAZY
, cascade = javax.persistence.CascadeType.ALL
, orphanRemoval = true )
protected java.util.Set<org.example.persistence.entity.AuthorizationPosition> authorizationPositionsByProductAttributes;
Run Code Online (Sandbox Code Playgroud)
我把所有的关系,在两个实体,并呼吁em.persist()对ProductAttributes(作为一个更大结构的一部分),这是这里的怪错误出现(在这个问题结束全堆栈跟踪):
java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: Not-null property references a transient value - transient instance must be saved before current operation : org.example.persistence.entity.AuthorizationPosition.productAttributes -> org.example.persistence.entity.ProductAttributes
Run Code Online (Sandbox Code Playgroud)
我错过了什么或Hibernate(hibernate-core-5.3.1.Final)真的试图坚持其他方式?这不应该是一个问题,尽管CascadeType.ALL在所有关系映射中都存在这个问题吗?
完整的堆栈跟踪:
java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: Not-null property references a transient value …Run Code Online (Sandbox Code Playgroud) 我创建了一个带有标题和带有大量代码的正文的Oracle PL/SQL包.
后来,在CREATE OR REPLACE PACKAGE BODY...用不同的源代码重新声明语句之后,我最终意外地从该主体中删除了代码(实际上我打算在不同的包名下保存).
有什么方法可以从包中恢复旧的替换源代码吗?
我有Oracle JDK7(JavaSE Hotspot Embedded JRE)和OpenJDK7(Cacao,JamVM,ZeroVM).平台是:PPC32嵌入式平台(e550)
我用两个java运行简单的素数java应用程序.由于coclusion Oracle JRE比使用cacao或jamvm或零VM的open jdk快得多.
我希望用openjdk提高执行速度.需要与oracle JRE相同的执行时间.如何提高java应用程序(单线程或多线程)的执行速度.
哪些是Oracle和Open JDK中不同的组件.
我需要为RESTful服务获取WADL文件.我知道如果使用球衣,它可以作为http://localhost:8080/application.wadl.但我使用RESTeasy.
在我的框架案例中我可以这样做吗?
我正在开发一个使用bean验证的项目(Hibernate Validator 5.1.3.Final).我的bean有一个带@Past注释的属性.
@Past(message = "A data deve estar no passado.")
private LocalDate dataAbertura;
Run Code Online (Sandbox Code Playgroud)
但是,当验证发生时,我得到以下异常:
21:46:12,424 ERROR [io.undertow.request] (default task-35) UT005023: Exception handling request to /financeiro/clientes/pessoafisica: javax.servlet.ServletException: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.time.LocalDate.
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:127) [vraptor-4.1.4.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.1.0.Final.jar:1.1.0.Final] …Run Code Online (Sandbox Code Playgroud) 我想执行一个匹配特定子类属性的查询,所以我正在尝试使用treat().
在这个例子中我想要:
名称以"a"开头的
所有科目,或所有科目,即姓名以"a"开头的人
private List<Subject> q1()
{
CriteriaBuilder b = em.getCriteriaBuilder();
CriteriaQuery<Subject> q = b.createQuery(Subject.class);
Root<Subject> r = q.from(Subject.class);
q.select(r);
q.distinct(true);
q.where(
b.or(
b.like(r.get(Subject_.name), "a%"),
b.like(b.treat(r, Person.class).get(Person_.lastName), "a%")));
return em.createQuery(q).getResultList();
}
Run Code Online (Sandbox Code Playgroud)
显然,Person扩展Subject,Subject是抽象的,继承是SINGLE_TABLE,并 (非进水).Subject有@DiscriminatorOptions(force = true)其他原因
但生成的SQL是这样的:
select distinct subject0_.ID as ID2_71_, subject0_.CODE as CODE3_71_, ...
from SUBJECT subject0_
where subject0_.DTYPE='Person' and (subject0_.name like 'a%' or subject0_.lastName like 'a%')
Run Code Online (Sandbox Code Playgroud)
虽然我期待:
select distinct subject0_.ID as ID2_71_, …Run Code Online (Sandbox Code Playgroud) 我有一个User在一个函数中被赋予系统特权的实体.我有一个网页,您可以从下拉列表中选择用户并将表单提交给服务器.在服务器端,我想只更新该实体的一个字段.
我的用户实体将具有除了设置的一个字段及其id之外的所有对象的默认值.我是否需要findById更新特定字段然后进行合并,或者有没有办法告诉只更新该字段?
我正在尝试使用以下代码从MySQL表中提取Experience对象列表.每个体验都有一个from datetime列和一个datetime列,我只想拉出今天日期落在from和to之间的行.
我正在使用JPA 2.0运行Hibernate.
Date currentDate = new Date();
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Experience> query = builder.createQuery(Experience.class);
Root<Experience> root = query.from(Experience.class);
builder.between(currentDate, root.get("from"), root.get("to"));
return entityManager.createQuery(query).getResultList();
Run Code Online (Sandbox Code Playgroud)
我的问题是,builder.between()显然不允许我传递Date对象.
我的问题有更好的解决方案吗?
在选择元素时,是否有人知道限制子深度的解决方案CSS?
例:
.my-class div div:end(styles:here)
Run Code Online (Sandbox Code Playgroud)
这样可以防止必须向CSS页面中的每个第二个div 添加类,同时防止样式被传递到第三个等等的子节点.
java ×6
jpa ×4
hibernate ×3
criteria ×1
criteria-api ×1
css ×1
ejb ×1
html ×1
inheritance ×1
java-ee ×1
java-ee-7 ×1
middleware ×1
openjdk ×1
oracle ×1
package ×1
performance ×1
recover ×1
replace ×1
resteasy ×1
wadl ×1
web-services ×1