在网上快速搜索显示3或4个变体人们如何指定xmlns
和xsi:schemaLocation
进入persistence.xml
.
指定JPA 2.1版的"正确"方式是什么?
我正在使用:
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
Run Code Online (Sandbox Code Playgroud) 我遇到了一个简单的问题; 奋力如何调用order by
上join
编辑实体.基本上我正在努力实现以下目标JPA Criteria
:
select distinct d from Department d
left join fetch d.children c
left join fetch c.appointments a
where d.parent is null
order by d.name, c.name
Run Code Online (Sandbox Code Playgroud)
我有以下内容:
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Department> c = cb.createQuery(Department.class);
Root<Department> root = c.from(Department.class);
Fetch<Department, Department> childrenFetch = root.fetch(
Department_.children, JoinType.LEFT);
childrenFetch.fetch(Department_.appointments, JoinType.LEFT);
c.orderBy(cb.asc(root.get(Department_.name)));
c.distinct(true);
c.select(root);
c.where(cb.isNull(root.get(Department_.parent)));
Run Code Online (Sandbox Code Playgroud)
如何实现order by d.name, c.name
用Criteria API
?我尝试使用Expression,Path但是没有用.任何指针将不胜感激.
我正在尝试为Android项目添加布局:
右键单击res
文件夹New | Directory
.该目录已创建,但未显示在app/res
.也许是因为默认情况下隐藏了空目录?转到Windows资源管理器并将文件添加到新创建的目录(隐藏在Android Studio中).回到工作室,如何"刷新"项目结构以显示新创建的目录及其下的文件?
基本上我的问题是,Eclipse的刷新菜单选项的替代方案是什么?
我正在尝试更改以下HQL以使用JPA Criteria:
select distinct d from Department d
left join fetch d.children c
where d.parent is null
and (
d.name like :term
or c.name like :term
)
order by d.name
Run Code Online (Sandbox Code Playgroud)
Department
有一个Set<Department>
孩子.
标准:
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Department> c = cb.createQuery(Department.class);
Root<Department> root = c.from(Department.class);
root.fetch("children", JoinType.LEFT);
Path<Department> children = root.join("children", JoinType.LEFT);
c.orderBy(cb.asc(root.get("name")));
c.distinct(true);
c.where(cb.isNull(root.get("parent")));
String param = "%" + "term" + "%";
cb.and(cb.like(root.<String> get("name"), param));
cb.or(cb.like(children.<String> get("name"), param));
TypedQuery<Department> tq = getEntityManager().createQuery(c);
departments = tq.getResultList();
Run Code Online (Sandbox Code Playgroud)
我知道它可能有点简洁,但是,HQL返回24和Criteria版本28.我想我不处理:
and …
Run Code Online (Sandbox Code Playgroud) 对stop
或undeploy/redeploy
一的Spring framework 3.0.5
基于Web的应用程序中记录以下错误Tomcat7's catalina.out
:
SEVERE: The web application [/nomination##1.0-qa] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@4f43af8f]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Run Code Online (Sandbox Code Playgroud)
我最初想到实现ServletContextListener
和close()
那里的背景.但是,发现ContextLoaderListener
哪个工具ServletContextListener
设置如下web.xml
:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
来自Javadocs:
**contextDestroyed** …
Run Code Online (Sandbox Code Playgroud) memory-leaks spring-mvc permgen servlet-listeners servletcontextlistener
我有六次自定义注销过滤器.我尝试访问应用程序时两次,当我输入用户名/密码并单击"登录"时再两次,然后当我点击"注销"时再次两次.
我究竟做错了什么?
组态:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN_FUNCTIONS')" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login"
authentication-success-handler-ref="customAuthenticationSuccessHandlerBean"
authentication-failure-handler-ref="customAuthenticationFailureHandlerBean" />
<logout invalidate-session="true" success-handler-ref="logoutHandlerBean" />
<session-management session-fixation-protection="migrateSession">
<concurrency-control max-sessions="1"
expired-url="/login_sessionexpired" />
</session-management>
<custom-filter before="LOGOUT_FILTER" ref="customLogoutFilter" />
</http>
<beans:bean id="customLogoutFilter" class="com.hurontg.libms.security.CustomLogoutFilter" />
Run Code Online (Sandbox Code Playgroud)
过滤器:
public class CustomLogoutFilter extends OncePerRequestFilter {
/**
*
*/
private XLogger logger = XLoggerFactory
.getXLogger(CustomLogoutFilter.class.getName());
@Override
protected void doFilterInternal(HttpServletRequest req,
HttpServletResponse res, FilterChain chain)
throws ServletException, IOException {
logger.error("========================================================================================");
logger.error("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Custom Logout Filter $$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
logger.error("========================================================================================");
chain.doFilter(req, res);
}
Run Code Online (Sandbox Code Playgroud)
}
Spring版本:4.1.1 …
Hibernate允许使用来通过@ManyToOne
映射添加索引@org.hibernate.annotations.Index
。
有没有一种方法可以为@ManyToMany
关系中的连接表指定索引?
如果Entity A
和Entity 的拥有方B
为@ManyToMany
with A
,则联接表将具有复合索引(a1,b1)。
我想知道这是否足够,还是需要创建另一个索引(b1,a1)?
关于停止/重启web-app Tomcat 7.0.26,我有一个非常简单的'Hello world'类型的Web应用程序(Spring 3.2.1,Hibernate 4.1.9)
The following web applications were stopped (reloaded, undeployed), but their
classes from previous runs are still loaded in memory, thus causing a memory
leak (use a profiler to confirm):
/myapp
Run Code Online (Sandbox Code Playgroud)
我采取了以下步骤:启动JVisualVM右键单击Tomcat并选择"堆转储"单击[heapdump]上的"OQL控制台"然后执行此查询:
select x from org.apache.catalina.loader.WebappClassLoader x
Run Code Online (Sandbox Code Playgroud)
找到4个实例:
org.apache.catalina.loader.WebappClassLoader
Run Code Online (Sandbox Code Playgroud)
选中的"已启动"字段为"false"右键单击"this"引用并单击"Show Nearest GC Root"将显示"未找到GC根"的对话框.
我错过了什么?任何帮助将不胜感激.谢谢.
从Hibernate 3.6文档中:
您可以使用带有关键字的HQL提供额外的加入条件。
from Cat as cat
left join cat.kittens as kitten
with kitten.bodyWeight > 10.0
Run Code Online (Sandbox Code Playgroud)
该with
子句允许对JOIN条件(ON子句)添加限制。JPQL中有这样的事情吗?
当我运行以下JPQL时:
select c from ContainerDef c left join fetch c.displayState ds where c.id = 1 and ds.user.id = 2
Run Code Online (Sandbox Code Playgroud)
生成以下SQL:
select
...
from
CONTAINER_DEF containerd0_
left outer join
USER_CONTAINERDEF displaysta1_
on containerd0_.CONTAINERDEF_ID=displaysta1_.CONTAINERDEF_ID
where
containerd0_.CONTAINERDEF_ID=?
and displaysta1_.AUTHUSER_ID=?
Run Code Online (Sandbox Code Playgroud)
真正应该生成的是:
select
...
from
CONTAINER_DEF containerd0_
left outer join
USER_CONTAINERDEF displaysta1_
on containerd0_.CONTAINERDEF_ID=displaysta1_.CONTAINERDEF_ID
and displaysta1_.AUTHUSER_ID=?
where
containerd0_.CONTAINERDEF_ID=?
Run Code Online (Sandbox Code Playgroud)
我确定我缺少适用于HQL的JPQL子句with
。
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TEsT</title>
</head>
<body>
<div id="wizard">
<h1>First Step</h1>
<div>First Content</div>
<h1>Second Step</h1>
<div>Second Content</div>
</div>
<script src="jquery-1.11.0.min.js"></script>
<script src="jquery.steps.min.js"></script>
<script src="homepage.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(document).ready(function(){
$("#wizard").steps();
});
Run Code Online (Sandbox Code Playgroud)
(非特别)演绎:
jpa ×3
criteria-api ×2
hibernate ×2
java ×2
permgen ×2
android ×1
database ×1
hql ×1
jpa-2.0 ×1
jpa-2.1 ×1
jpql ×1
jquery ×1
jquery-steps ×1
jvisualvm ×1
memory-leaks ×1
optimization ×1
spring ×1
spring-mvc ×1
sql ×1
sql-order-by ×1
tomcat7 ×1