当我调用刷新函数时,我从我的EntityManager收到此错误.
public void saveProduct(Product product) {
entityManager.refresh(product);
}
Run Code Online (Sandbox Code Playgroud)
我听说这可能是Spring/Hibernate的一个错误,但是我不知道如何解决这个问题.
编辑:错误是
java.lang.IllegalArgumentException: Entity not managed
org.hibernate.ejb.AbstractEntityManagerImpl.refresh(AbstractEntityManagerImpl.java:268)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:358)
$Proxy17.refresh(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:198)
$Proxy11.refresh(Unknown Source)
springapp.repository.JdbcProductDao.saveProduct(JdbcProductDao.java:66)
springapp.service.SimpleProductManager.increasePrice(SimpleProductManager.java:28)
springapp.web.PriceIncreaseFormController.onSubmit(PriceIncreaseFormController.java:39)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Run Code Online (Sandbox Code Playgroud) 我对注射豆子的想法很新,所以慢慢说.:)
我有一个注入bean的类,但是当访问该属性时,该属性为null,我得到一个空指针异常.
来自/project-TRUNK/war-module/src/main/webapp/WEB-INF/spring-config/spring-bean.xml
<bean id="linkCheck"
class="com.dogwatch.util.LinkCheck">
<property name="linkDao" ref="jdbcLinkDao" />
</bean>
Run Code Online (Sandbox Code Playgroud)
来自/project-TRUNK/war-module/src/main/webapp/WEB-INF/spring-config/spring-dao.xml
<bean id="jdbcLinkDao" class="com.dogwatch.util.jdbcLinkDao">
<property name="dataSource" ref="dataSource" />
<property name="linkJdbcDataTypesSupport" ref="linkJdbcDataTypesSupport"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
众所周知,DAO bean很好,可以在其他几个类中使用.
package com.dogwatch.util;
public class LinkCheck {
private LinkDAO linkDao;
public LinkDAO getLinkDao() {
return linkDao;
}
public void setLinkDao(LinkDAO linkDao) {
this. linkDao = linkDao;
}
}
Run Code Online (Sandbox Code Playgroud)
我一直在将它与使用相同DAO bean的其他类进行比较,但我找不到任何差异.
我确实看到了bean的定义:
INFO [2010-01-15 01:10:05,838] [main] [XmlBeanDefinitionReader] [XmlBeanDefinitionReader.java:323] - 从URL加载XML bean定义[file:war-module/src/main/webapp/WEB-INF/spring-config/spring-dao.xml] INFO [2010-01-15 01:10:05,858] [main] [XmlBeanDefinitionReader] [XmlBeanDefinitionReader.java:323] - 从URL加载XML bean定义[file:war-module/src/main/webapp/WEB-INF/spring-config/spring-bean.xml] INFO [2010-01-15 01:10:06,597] [main] [DefaultListableBeanFactory] [DefaultListableBeanFactory.java:414] - …
你应该避免哪些JQuery糟糕/最糟糕的做法,写作或事情?
在vim
:g/George Bush/d
删除乔治布什的所有台词.
如果我想从乔治布什开始删除以下5行怎么办?
另一个现实的例子是在log4net日志中找到所有DEBUG并删除到堆栈跟踪的末尾(我知道它将在它下面的另外10行)
我有一个面向公众的爱好网站,每天约有3000名独立访客,用经典的ASP编写,不太需要改造和重新设计.我已经意识到升级到ASP.net是实现功能的最佳方式,这些功能对于业余爱好者来说太难了(使用RSS提要,身份验证和用户配置文件)但是我很想得到它坚持到一次我通过重新设计/升级.
但是,我已经陷入了瘫痪状态的不确定性:Web表单或MVC - 以及似乎总会有一些新版本即将发布,似乎值得坚持改善学习曲线.所以我花了几个小时阅读WebForms然后阅读一些东西,告诉我我可能会更好地考虑MVC,然后阅读有关MVC并想知道它是否真的适合我正在尝试做的事情.
没有任何教程和入门网站真正谈论哪些网站是传统的旧静态信息网站(不是目录或用户内容驱动).
我的网站大约有75%的静态信息页面很少改变.但是,ASP脚本在所有这些页面上的用户界面中是必不可少的 - 动态或随机选择设计元素(如标题照片)或根据一年中的某一天或随机提供特定的侧边栏框.
我所拥有的脚本就像是一个脚本,可以随机选择并显示页面的30个标题图像之一,一个显示文本的脚本和基于一年中某一天的链接,一个允许我声明一个脚本的脚本特定搜索关键字与特定页面的内容相关,并且在页面加载时将其预加载为搜索输入框中的文本.
对于大多数其余页面,它们都是关于显示数据.其中一些是小记录集(关于一年中特定日期的重要内容的年历类型信息),我将其保存并从页面本身的Array变量中提取.其他人从Access数据库中提取信息,该数据库变化很少,我从未在网站上实现CUD功能(以及必要的角色和身份验证以保护它),但只是离线更新数据库并上传它以实时发送更改.
使用ASP.net,我可以很好地转移到SQL Server并构建实时管理页面.我不需要坚持使用Access.
但是,我更习惯于编写原始HTML和CSS,而且我发现WebForms(特别是Viewstate和事件/回发)是一个挑战,可以从概念上理解.即使它似乎更适合文件系统中的静态页面,但我已经习惯了一些服务器端代码.
另一方面,MVC似乎非常适合手工编码的设计,但是从数据库中提取所有东西.
你会推荐什么?我应该将所有静态页面拉入数据库并通过MVC中的"文章"视图提供它们吗?
我不是一个专业的开发人员 - 所以这不是关于什么在我的简历上看起来最好.我只是在寻找(a)来自经典ASP中来自VBScript内联表达式的人的最少学习曲线,以及(b)最适合我的网站的内容和(c)让我对标记有一些控制权 - 和CSS.
为什么ASP.NET MVC缺少控件?
当然它没有那么长时间,但人们会认为GridView,日历和其他重要的控件将包含在内,或至少包含在单独的包中.
然而,除了那些花费很多钱而几乎什么都没有的东西之外,我没有找到任何东西.
这些类型的控件是否违反了MVC中的工作流程?
编辑
关于具体的控件,jQuery日历看起来非常好,但我还没有看到任何hierchy网格视图,有没有?
做"或死$!" - 参与"关闭$ fh或死$!;" - 行什么好?
#!/usr/bin/env perl
use warnings;
use strict;
my $file = 'my_file';
open my $fh, '<', $file or die $!;
print <$fh>;
close $fh or die $!;
Run Code Online (Sandbox Code Playgroud) 有一个向导可以包含超过150个问题或只有10个问题.每个问题可能与之前提出的问题不同.例如,一个问题可能需要您回答"是/否"答案,但下一个问题可能包含带有四个选项的多选列表.还应该有机会填写对话框中提出的问题的完全公开答案.该向导由多个部分组成.
还应评估此向导的结果.例如:"上班时你有没有忘记穿鞋?" "是/否"如果用户回答是,我们应该对此进行评估并告诉他应该将鞋子放在门口,这样他就不会再忘记了.(例)
这个向导的结果必须保存到一个数据库中,但是在一个表中执行此操作并将所有数据添加到此表对我来说非常不方便.这里有没有人有一个干净的解决方案,例如,如果我们必须重建这样的向导,我们可以使用相同的数据库?