我正在按照本指南说明使用Entity Framework核心的代码优先方法。迁移工作正常,直到某个时候我删除了.mdf文件。从那时起,执行Update-Database
(以应用我的迁移)会引发以下错误:
Database 'DatabaseName' already exists. Choose a different database name.
这个数据库到底在哪里?如何将其永久删除?
根据此答案,我需要从Sql Server分离数据库,但现在不确定如何执行此操作。在Sql Server Management Studio中,如果执行sp_detach_db DatabaseName
则抛出错误The database 'DatabaseName' does not exist. Supply a valid database name.
提前致谢。
更新
我看到,database already exists
如果我在SQL Server Management Studio中附加了数据库并执行Update-Database
命令,我也可以重现此错误。关闭Management Studio后,将应用迁移而不会出现此错误。我很困惑
我成功地能够使用NamedQuery检索对象列表.如果我不对对象进行任何修改然后尝试合并它(使用我的实体管理器),则不会抛出任何异常.但是,如果我更新该实体中的任何字段并尝试合并它,则抛出以下异常:
SEVERE: Servlet.service() for servlet [spring-mvc] in context with path [/EuropCar] threw exception [Request processing failed; nested exception is org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Error while committing the transaction] with root cause
java.lang.NullPointerException
at org.hibernate.ejb.event.EJB3PostUpdateEventListener.handlePostUpdate(EJB3PostUpdateEventListener.java:71)
at org.hibernate.ejb.event.EJB3PostUpdateEventListener.onPostUpdate(EJB3PostUpdateEventListener.java:67)
at org.hibernate.action.internal.EntityUpdateAction.postUpdate(EntityUpdateAction.java:248)
at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:205)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:276)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1233)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:403)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:75)
at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) …
Run Code Online (Sandbox Code Playgroud) 我有一个accountType变量,在用户登录我的Web应用程序时设置.
在我的许多jsps中,我需要检查accountType的值,以便我可以相应地显示(或不显示)各种内容.
目前我正在为需要检查accountType的jsp对应的每个模型设置accountType.在JSP中,我做了如下检查:
<c:if test = "${myModel.accountType == 'B 2 C'}" >
... show B 2 C content ...
</c:if>
Run Code Online (Sandbox Code Playgroud)
不幸的是,为需要它的每个模型设置accountType是相当费力的.是否有类似的方法来读取我的jsps中的会话变量,或者在检查会话变量时是否必须使用scriptlet?
提前致谢.
我有一个angular2前端,它使用Auth0进行身份验证,后端使用.net核心应用程序.所有这些都在强制执行安全的API调用.
在后端识别经过身份验证的用户的最佳方法是什么?我可以想到这样做的一个相当笨拙的方法是公开一个'setUserToken'api调用,它允许我将用户ID连接到以下任一项:
代币 var bearerToken = Request.Headers["Authorization"].ToString()
社交ID var socialId = User.Claims.Where(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").First().Value
这样,随后的API调用,我可以简单地findUserByToken()
或findUserBySocialProviderOpenId()
我确定我错过了一个更明显的解决方案来解决这个问题.任何指导将不胜感激.
如果我重复一个问题,我会提前道歉.如果我是,请转发给相关的帖子.
我有一个JPanel,上面有很多组件.然后将其放置在JFrame上.我想让用户有机会保存他们当前的会话(即序列化JPanel,其子组件值保持不变).然后,用户应该有机会加载前一个会话(基本上是JPanel,其中包含已保存的combox和文本字段条目选择).
我的问题涉及从文件中读取JPanel对象.一旦我从文件中读取JPanel,我是否必须阅读其每个文本字段和组合框,或者我可以简单地用保存的JPanel替换我的JPanel吗?据我所知,唯一的方法是用保存的面板替换当前面板,如下所示:
这有什么可以实现我想要的吗?
谢谢.
java ×3
asp.net-core ×2
spring ×2
auth0 ×1
hibernate ×1
jwt ×1
rest ×1
serializable ×1
spring-mvc ×1
swing ×1