我注意到使用下面的JPQL查询时不会删除PersistentUser的子代.但是,如果我执行了,则删除子项entityManager.remove(object).这是预期的吗?为什么下面的JPQL查询也不执行级联删除?
@OneToMany(mappedBy = "persistentUser", cascade = CascadeType.ALL)
private Collection<PersistentLogin> persistentLogins;
...
@Override
@Transactional
public final void removeUserTokens(final String username) {
final Query query = entityManager.createQuery(
"DELETE FROM PersistentUser p WHERE username = :username");
query.setParameter("username", username);
query.executeUpdate();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行一个简单的Lift示例,我遇到了一个奇怪的问题.我现在用的是Sonatype的样品清单项目在这里.我略微修改了HTML,但它最初也没有工作.我遇到的问题是,当我运行本地jetty服务器并尝试访问http:// localhost:8080时,它在Firefox 3.6.10而不是HTML中显示为XML.注意,它在IE8中显示正常,但IE8中的Content-Type是"text/html".我认为Firefox出于某种原因不喜欢Content-Type"application/xhtml + xml".Firefox中的消息说:
此XML文件似乎没有与之关联的任何样式信息.文档树如下所示.
以下是Firebug的响应标头:
Expires Thu, 16 Sep 2010 03:55:04 UTC
Content-Length 558
Cache-Control no-cache; private; no-store
Content-Type application/xhtml+xml; charset=utf-8
Pragma no-cache
Date Thu, 16 Sep 2010 03:55:04 UTC
X-Lift-Version 2.0-scala280-SNAPSHOT
Server Jetty(6.1.22)
Run Code Online (Sandbox Code Playgroud)
..和实际的回应:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Lift Test</title>
</head>
<body>
<h2>Welcome to your project!</h2>
<p>
<span>Welcome to toto01 at Wed Sep 15 20:55:04 PDT 2010</span>
</p>
<script type="text/javascript" src="/ajax_request/liftAjax.js"></script>
<script type="text/javascript">
// …Run Code Online (Sandbox Code Playgroud) 在使用<http ... />Spring Security 3命名空间时,如何自定义UsernamePasswordAuthenticationFilter usernameParameter(j_username)和passwordParameter(j_password)属性?这是我的理解<http ... />创建过滤器,但我没有看到如何自定义它.
何时在应用程序中创建新的应用程序域有哪些指导原则和最佳实践?
此外,在应用程序中如何使用多个应用程序域的一些常见用途和示例是什么?
为什么下面的代码导致org.datanucleus.exceptions.NucleusUserException:对象管理器已关闭?似乎在query.getResultList()处抛出异常.
public final void removeUserTokens(final String username) {
final Query query = entityManager.createQuery(
"SELECT p FROM PersistentLogin p WHERE username = :username");
query.setParameter("username", username);
for (Object token : query.getResultList()) {
entityManager.remove(token);
}
}
Run Code Online (Sandbox Code Playgroud)
例外:
org.datanucleus.exceptions.NucleusUserException: Object Manager has been closed
at org.datanucleus.ObjectManagerImpl.assertIsOpen(ObjectManagerImpl.java:3876)
at org.datanucleus.ObjectManagerImpl.getFetchPlan(ObjectManagerImpl.java:376)
at org.datanucleus.store.query.Query.getFetchPlan(Query.java:497)
at org.datanucleus.store.appengine.query.DatastoreQuery$6.apply(DatastoreQuery.java:611)
at org.datanucleus.store.appengine.query.DatastoreQuery$6.apply(DatastoreQuery.java:610)
at org.datanucleus.store.appengine.query.LazyResult.resolveNext(LazyResult.java:94)
at org.datanucleus.store.appengine.query.LazyResult$LazyAbstractListIterator.computeNext(LazyResult.java:215)
at org.datanucleus.store.appengine.query.AbstractIterator.tryToComputeNext(AbstractIterator.java:132)
at org.datanucleus.store.appengine.query.AbstractIterator.hasNext(AbstractIterator.java:127)
at org.datanucleus.store.appengine.query.LazyResult$AbstractListIterator.hasNext(LazyResult.java:169)
at com.mystuff.service.auth.PersistentTokenRepositoryImpl.removeUserTokens(PersistentTokenRepositoryImpl.java:90)
Run Code Online (Sandbox Code Playgroud)
编辑:我增加了datanucleus的日志级别,这就是我所看到的.
FINE: Object Manager "org.datanucleus.ObjectManagerImpl@5d8d3d6c" opened for datastore "org.datanucleus.store.appengine.DatastoreManager@2447e380"
Feb 25, 2010 7:21:38 AM org.datanucleus.ObjectManagerImpl initialiseLevel1Cache
FINE: …Run Code Online (Sandbox Code Playgroud) 为什么.NET Entity Framework生成的SQL使用子查询和左外连接的简单的1对1关系?我希望看到两个表上的简单连接.我正在使用Devart Dotconnect for Oracle.有任何想法吗?
以下是我看到EFTracingProvider提供的输出:
SELECT
1 AS C1,
"Join1".USER_ID1 AS USER_ID,
...
FROM "MY$NAMESPACE".MYTABLE1 "Extent1"
INNER JOIN (...
FROM "MY$NAMESPACE".MYTABLE2 "Extent2"
LEFT OUTER JOIN "MY$NAMESPACE".MYTABLE1 "Extent3" ON "Extent2".OTHER_ID = "Extent3".OTHER_ID )
"Join1" ON "Extent1".OTHER_ID = "Join1".OTHER_ID1
WHERE "Extent1".USER_ID = :EntityKeyValue1
-- EntityKeyValue1 (dbtype=String, size=6, direction=Input) = "000000"
Run Code Online (Sandbox Code Playgroud) 我有一个名为Game的结构,其中包含一系列级别,定义如下:
typedef struct
{
Level levels[x];
} Game;
Run Code Online (Sandbox Code Playgroud)
当我编译代码时,如果x是1,2或3,程序运行正常.如果它是任何其他值(例如4),我会得到分段错误.我不是在任何地方访问阵列.Main就是这样的东西(除了初始化之外的一切评论):
int main (...)
{
Game g;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这可能是什么的任何线索?
提前致谢.
我在Visual Studio中遇到一个奇怪的问题,如果我开始调试它会立即退出.在项目属性中更改程序集名称后,这种情况就开始发生了.如果我将程序集名称更改回以前的名称,则程序运行正常.我怎样才能解决这个问题?
以下是更改程序集名称后运行时的输出:
'SerialDeviceMaintenanceUtility.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'SerialDeviceMaintenanceUtility.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'SerialDeviceMaintenanceUtility.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'SerialDeviceMaintenanceUtility.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'SerialDeviceMaintenanceUtility.vshost.exe' …Run Code Online (Sandbox Code Playgroud) 如何在视图上显示由于@AssertTrue注释而发生的jsp验证错误消息?它不依赖于特定字段,但我使用它来验证字段组合.如果我使用<form:errors path="*"/>它将显示该表单的所有错误?